Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di paxxx80
    Registrato dal
    Dec 2001
    Messaggi
    185

    quando non viene restituito nessun recordset....

    scusate come faccio a testare il fatto che una stored procedure non mi restituisca nessun recordset?

    esempio:
    store:
    CREATE PROCEDURE dbo.spprova
    AS

    RETURN
    GO


    pagina asp:

    dim rec
    set cn=Server.CreateObject("ADODB.Connection")
    set rec=Server.CreateObject("ADODB.recordset")
    Set com = Server.CreateObject("ADODB.Command")
    cn.ConnectionString = DSN_DB1
    cn.open

    strsql = "" & DB_Ristorazione & "..spprova "

    com.ActiveConnection = cn
    com.CommandText = strSql
    Set rec = com.Execute


    'rec.Open strsql,cn

    if not rec.EOF then
    if rec("messaggio") <> "" and rec("messaggio") <> "OK" then
    Response.Write "<div class=m-err><center>" & rec("messaggio") & "</center></div>"
    Response.End
    end if
    end if



    rec.Close
    cn.Close
    set cn=nothing


    mi dà questo errore
    Operation is not allowed when the object is closed.
    quando cerco di testare l'EOF, effettivamente nel caso in questione il recordset non esiste ancora,c'è una qualche funzione che mi restituisce questo caso?
    grazie 1000

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    if IsObject(rec) ??

    Roby

  3. #3
    Utente di HTML.it L'avatar di paxxx80
    Registrato dal
    Dec 2001
    Messaggi
    185
    però isObject(rec) mi torna true!!!!!!

    cioè se io scrivo

    Response.Write "qui:" & IsObject(rec) & br
    Response.Write rec.RecordCount

    alla prima riga mi dà true,alla seconda (cioè sul recordcount) quel cavolo di errore....sto diventando matta....
    idee??

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma la SP cosa fa?

    Roby

  5. #5
    Utente di HTML.it L'avatar di paxxx80
    Registrato dal
    Dec 2001
    Messaggi
    185
    fa degli insert vari...se sbaglia in qualcosa torna un recordset con un messaggio,se fa tutto giusto finisce con
    RETURN
    ma niente recordset...ovviamente la sp è intoccabile causa comandi dall'alto, altrimenti non sarei in sto casino, la prova cmq si può fare creando semplicemente una sp di questo tipo:

    CREATE PROCEDURE dbo.spprova
    AS

    RETURN
    GO


    è esattamente quello che fa se tutte le operazioni vanno a buon fine

  6. #6
    paxxo, la riga

    Set rec = com.Execute


    NON apre nessun recordset. quindi asp fa bene a lamentarsi se cerchi di chiuderlo

  7. #7
    Utente di HTML.it L'avatar di paxxx80
    Registrato dal
    Dec 2001
    Messaggi
    185
    allora perchè se al posto di quello uso:
    rec.Open strsql,cn

    mi dà lo stesso identico errore????????

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se fai?

    com.Execute, , adExecuteNoRecords

    Roby

  9. #9
    Utente di HTML.it L'avatar di paxxx80
    Registrato dal
    Dec 2001
    Messaggi
    185
    e il record dove lo metto?
    per il caso in cui esca fuori intendo...se faccio come dici tu poi rec cosa centra??
    scusami ma mi sa ke mi sono persa qualcosa....

    com.ActiveConnection = cn
    com.CommandText = strSql
    com.Execute, , adExecuteNoRecords


    Response.Write "qui:" & IsObject(rec) & br
    'Response.Write rec.RecordCount
    if IsObject(rec) then
    if not rec.EOF then
    if rec("messaggio") <> "" then
    Response.Write "<div class=m-err><center>" & rec("messaggio") & "</center></div>"
    Response.End
    end if

    end if
    end if

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.