Problemas con SP en Visual Basic

Hola escribo con la esperanza de que me pueda ayudar.. Soy una persona que trabaja con VB y tengo el siguiente problema :
Estoy desarrollando una aplicación para generar ordenes de trabajo, para ello necesito un número ú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 de ot generado el cual es un autonumérico.
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..
Cuando lo ejecuto desde access 2003 con la misma instrucción me funciona sin problemas...
Espero que me pueda ayudar...
Desde ya muy agradecido por su tiempo
Atentamente
Marcelo Suazo

1 respuesta

Respuesta
1
Checa la siguiente liga que habla sobre una forma muy interesante de trabajar con stored procedures:
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=49063&lngWId=1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas