buongiorno
ho una SP in sqlServer, la quale provandola con dei valori fissi mi da un risultato: X
provando la stessa SP da VBA con gli stessi risultati mi da un risultato diverso
ecco la SP
codice:
ALTER PROCEDURE dbo.CheckIsXXXXXX
@cap as nvarchar(50),
@CTD as varchar(4),
@objectType as int
ecco il codice VB6
codice:
Dim RS As New ADODB.Recordset
Dim CON As New ADODB.Connection
CON.Open "Provider=SQLNCLI;Server=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;"
Dim cmdTemp As New ADODB.Command
Set cmdTemp.ActiveConnection = CON
cmdTemp.Parameters.Append cmdTemp.CreateParameter("@objectType", adInteger, adParamInput, , 0)
cmdTemp.Parameters.Append cmdTemp.CreateParameter("@CTD", adVarChar, adParamInput, 4, codice)
cmdTemp.Parameters.Append cmdTemp.CreateParameter("@cap", adVarChar, adParamInput, 50, cap)
cmdTemp.CommandType = adCmdStoredProc
cmdTemp.CommandText = "CheckIsXXXXXX"
Set RS = cmdTemp.Execute '
If RS("valido") <> "Si" Then
CON.Close
fatal ("mi aspettavo si")
End If
CON.Close
come potete notare ,
ho rispettato tutti i parametri
solo il tipo di parametro di @CAP in vb6 non c'è Nvarchar e lo ho impostato a adVarchar
ma non penso che sia questo il problema in quanto i dati inviati
sono: "2000" per il CTD ,"04019" per il cap, 0 per objectType
sto impazzendo