VB y SQL con procedures
holas necesito informacion sobre como programar utilizando procedimientos almacenados creados en slq server y llamandolos desde VB con programacion para actualizar eliminar y todo eso, bueno se un poco peor quisiera mas informacion mucho mas acerca de hacer facturas utilizandolos, o alguna sugerencia con informacion adyacente porfis
gracias...............
gracias...............
Sobre los procedimientos almacenados
Vas a necesitar un Objeto ADODB.Command y, si tienes que pasar parámetros, un objeto de tipo ADODB.Parameter.
Fijate el ejemplo
Dim Cm as New ADODB.Command
Dim Pr as New ADODB.Parameter
Dim Rs as New ADODB.Recordset
Cm.CommandTimeout = 60
Cm.ActiveConnection = Conexion
Cm.CommandType = adCmdStoredProc
Cm.CommandText = "<nombre del procedimiento>"
Set Pr = Cm.CreateParameter("<Nombre parametro>", <tipo de dato>, adParamInput,ValorParametro)
Cm.Parameters.Append Pr
Set Rs = Cm.Execute
Para poder interpretar el contenido que queda en Rs, por el lado del store, van dos cuestiones
Al Inicio del código
SET NOCOUNT ON
Para que no te retorne un recordset por cada cosulta que hagas dentro.
Dentro del store, puedes usar dos variables que son de entorno, es decir, no hay que declararlas
Ret y txt
Por ejemplo, si tienes tratamiento de error dentro del store o reotrnar 0 si está todo OK.
Ejemplo
<Instruccionnes>
If @@Error <> 0
Begin
Select Ret = @@Error,Txt = 'Mensaje Error'
Return
End
Al final de todo, si está todo OK
Select Ret = 0,Txt = ''
De este modo cuando ejecutas el store a partir de un recordset
Set Rs = Cm.Execute
En Rs.Fields(0) te queda Ret
En Rs.Fields(1) te queda Txt
espero que sirva como comienzo
Saludos
PD : Lo de las facturas ingeniátelas un poco, no es para tanto.
Vas a necesitar un Objeto ADODB.Command y, si tienes que pasar parámetros, un objeto de tipo ADODB.Parameter.
Fijate el ejemplo
Dim Cm as New ADODB.Command
Dim Pr as New ADODB.Parameter
Dim Rs as New ADODB.Recordset
Cm.CommandTimeout = 60
Cm.ActiveConnection = Conexion
Cm.CommandType = adCmdStoredProc
Cm.CommandText = "<nombre del procedimiento>"
Set Pr = Cm.CreateParameter("<Nombre parametro>", <tipo de dato>, adParamInput,ValorParametro)
Cm.Parameters.Append Pr
Set Rs = Cm.Execute
Para poder interpretar el contenido que queda en Rs, por el lado del store, van dos cuestiones
Al Inicio del código
SET NOCOUNT ON
Para que no te retorne un recordset por cada cosulta que hagas dentro.
Dentro del store, puedes usar dos variables que son de entorno, es decir, no hay que declararlas
Ret y txt
Por ejemplo, si tienes tratamiento de error dentro del store o reotrnar 0 si está todo OK.
Ejemplo
<Instruccionnes>
If @@Error <> 0
Begin
Select Ret = @@Error,Txt = 'Mensaje Error'
Return
End
Al final de todo, si está todo OK
Select Ret = 0,Txt = ''
De este modo cuando ejecutas el store a partir de un recordset
Set Rs = Cm.Execute
En Rs.Fields(0) te queda Ret
En Rs.Fields(1) te queda Txt
espero que sirva como comienzo
Saludos
PD : Lo de las facturas ingeniátelas un poco, no es para tanto.
