Ciao a tutti,
ho un problema nel catturare gli errori di esecuzione di una stored procedure. Questo è il mio codice:
Non riesco a far stampare il valore di @error, mentre se eseguo la stored procedure tramite sql server non mi da alcun problema... forse sbaglio qualcosa nella procedura in sè, non lo so... eccola x essere più chiari:codice:strsql = "declare @error as int " strsql = strsql & "EXEC @error = p_ins_wdm_doc @Wdm_doc_type_id = " & recuperotipo & ", " strsql = strsql & "@Wdm_doc_title = '" & Wdm_doc_title & "', " strsql = strsql & "@Wdm_doc_abstract = '" & Wdm_doc_abstract & "'," strsql = strsql & "@Wdm_doc_owner = '" & wdm_doc_owner & "', " strsql = strsql & "@Wdm_doc_cr_user_id = '" & wdm_doc_cr_user_id & "', " strsql = strsql & "@Wdm_doc_cr_date = '" & Wdm_doc_cr_date &"', " strsql = strsql & "@errore = ''" Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open strConn2 Set objRs = Server.CreateObject("ADODB.Recordset") set objRs = objConn.Execute(strsql) errore = objRs("@error") response.Write(errore)
Ottengo sempre questo errore:codice:CREATE PROCEDURE [dbo].[p_ins_wdm_doc] (@Wdm_doc_type_id int = '', @Wdm_doc_title nvarchar(1000) = '', @Wdm_doc_abstract nvarchar(1000) = '', @Wdm_doc_owner nvarchar(100) ='', @Wdm_doc_cr_user_id nvarchar(50) ='', @Wdm_doc_cr_date datetime ='', @errore int OUTPUT) AS INSERT INTO wdm_doc (Wdm_doc_type_id, Wdm_doc_title, Wdm_doc_abstract, Wdm_doc_owner, Wdm_doc_cr_user_id, Wdm_doc_cr_date) VALUES (@Wdm_doc_type_id, @Wdm_doc_title, @Wdm_doc_abstract, @Wdm_doc_owner, @Wdm_doc_cr_user_id, @Wdm_doc_cr_date); SELECT @errore = @@ERROR; if @errore <> 0 print @errore else print 'Inserimento effettuato con successo'
ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/servizi/privati/documenti/docins2.asp, line 208
che mi porta qui: errore = objRs("@error")
Quello che mi dà fastidio inoltre è che l'inserimento viene effettuato veramente....
Grazie dell'attenzione e dell'aiuto...

Rispondi quotando
