Ciao a tutti,
ho un problema nel catturare gli errori di esecuzione di una stored procedure. Questo è il mio codice:
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)
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:
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'
Ottengo sempre questo errore:

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...