SP en Visual BAsic
Hola escribo con la esperanza de que me puedan ayudar.. El problema que tengo es el siguiente, estoy desarrollando una aplicación para generar ordenes de trabajo, para ello necesito un numero único de OT para cada uno de los clientes de la aplicación para ello cree el siguiente procedimiento almacenado.
CREATE PROCEDURE dbo.SP_Crea_numero_ot @usuario varchar(50) AS
INSERT INTO Numero_OT (Fecha, usuario) VALUES (GETDATE(), @usuario)
select max(ot) as ot from numero_ot where usuario = @usuario
GO
El procedimiento funciona sin problemas, le paso un usuario y me inserta un registro en la tabla y luego puedo consultar el numero generado.
El problema es que cuando lo trato de ejecutar desde vb 6.0 con la siguiente rutina.
Private Sub Command1_Click()
Dim conn As New ADODB.Connection
Dim reg As New ADODB.Recordset
'Dim reg1 As New ADODB.Record
Dim sql As String
Dim user As String
Dim bd As String
bd = "Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=DB_OT"
user = "user1"
sql = "SP_Crea_numero_ot '" & user & "'"
conn.Open (bd)
Set reg = conn.Execute(sql)
If Not reg.EOF = True Then
MsgBox (reg(0))
End If
reg.Close
conn.Close
End Sub
al ejecutar la siguiente linea
Set reg = conn.Execute(sql)
El recordset queda cerrado y no puedo realizar ninguna operación con él, el registro queda grabado en la BD pero no puedo rescatar el numero de ot generado..
Espero que me puedan ayudar...
Atentamente
Marcelo Suazo
CREATE PROCEDURE dbo.SP_Crea_numero_ot @usuario varchar(50) AS
INSERT INTO Numero_OT (Fecha, usuario) VALUES (GETDATE(), @usuario)
select max(ot) as ot from numero_ot where usuario = @usuario
GO
El procedimiento funciona sin problemas, le paso un usuario y me inserta un registro en la tabla y luego puedo consultar el numero generado.
El problema es que cuando lo trato de ejecutar desde vb 6.0 con la siguiente rutina.
Private Sub Command1_Click()
Dim conn As New ADODB.Connection
Dim reg As New ADODB.Recordset
'Dim reg1 As New ADODB.Record
Dim sql As String
Dim user As String
Dim bd As String
bd = "Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=DB_OT"
user = "user1"
sql = "SP_Crea_numero_ot '" & user & "'"
conn.Open (bd)
Set reg = conn.Execute(sql)
If Not reg.EOF = True Then
MsgBox (reg(0))
End If
reg.Close
conn.Close
End Sub
al ejecutar la siguiente linea
Set reg = conn.Execute(sql)
El recordset queda cerrado y no puedo realizar ninguna operación con él, el registro queda grabado en la BD pero no puedo rescatar el numero de ot generado..
Espero que me puedan ayudar...
Atentamente
Marcelo Suazo
Respuesta de utopico
1