Continuo: Store Procedure q devuleve valor nulo
Publicado por Luigi (16 intervenciones) el 27/12/2002 16:33:07
Continuo....
*******************'***********************
Este es el codigo de vb6 q llama al Sp:
*******************'***********************
Dim cmd As ADODB.Command Dim prm As ADODB.Parameter
Dim CadenaConexion As String
CadenaConexion = "Provider=SQLOLEDB;User ID=sa;Initial Catalog=Warehouse;Data Source=(local)"
Set cmd = New ADODB.Command
cmd.ActiveConnection = CadenaConexion
cmd.CommandType = adCmdStoredProc cmd.CommandText = "sp_New_Record"
Set prm = cmd.CreateParameter("Ret", adInteger, adParamReturnValue)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("RUC", adChar, adParamInput, 11)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("Cod", adChar, adParamOutput, 5)
cmd.Parameters.Append prm
cmd.Parameters("RUC").Value = Text1.Text
On Error Resume Next
cmd.Execute
Select Case cmd.Parameters("Ret").Value
Case 0
Label1.Caption = cmd.Parameters("Cod").Value
MsgBox "Registro Grabado"
Case 1,2
MsgBox "Error en la Base de Batos "
End Select
End Sub
*******************'***********************
El problema q tengo es q cuando ingreso un Ruc repetido el programa de Vb retorna en cmd.Parameters("Ret").Value (el valor de Retorno del sp), el valor nulo y en el Case entra al 0 como si el registro fuese grabado y no fue asi, debiendo este devolver el valor 2 por ser duplicado el RUC. porq pasa eso?...en q me equivoque?..me faltara algo en el sp? o escribi algo demas?...EL SP LO PROBE Por analizador de Consultas del SQLServer7 y dev
*******************'***********************
Este es el codigo de vb6 q llama al Sp:
*******************'***********************
Dim cmd As ADODB.Command Dim prm As ADODB.Parameter
Dim CadenaConexion As String
CadenaConexion = "Provider=SQLOLEDB;User ID=sa;Initial Catalog=Warehouse;Data Source=(local)"
Set cmd = New ADODB.Command
cmd.ActiveConnection = CadenaConexion
cmd.CommandType = adCmdStoredProc cmd.CommandText = "sp_New_Record"
Set prm = cmd.CreateParameter("Ret", adInteger, adParamReturnValue)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("RUC", adChar, adParamInput, 11)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("Cod", adChar, adParamOutput, 5)
cmd.Parameters.Append prm
cmd.Parameters("RUC").Value = Text1.Text
On Error Resume Next
cmd.Execute
Select Case cmd.Parameters("Ret").Value
Case 0
Label1.Caption = cmd.Parameters("Cod").Value
MsgBox "Registro Grabado"
Case 1,2
MsgBox "Error en la Base de Batos "
End Select
End Sub
*******************'***********************
El problema q tengo es q cuando ingreso un Ruc repetido el programa de Vb retorna en cmd.Parameters("Ret").Value (el valor de Retorno del sp), el valor nulo y en el Case entra al 0 como si el registro fuese grabado y no fue asi, debiendo este devolver el valor 2 por ser duplicado el RUC. porq pasa eso?...en q me equivoque?..me faltara algo en el sp? o escribi algo demas?...EL SP LO PROBE Por analizador de Consultas del SQLServer7 y dev
Valora esta pregunta


0