Ejecutar Procedimiento desde VB 6.0 con parámetros

Hola a todos,
Necesito lanzar un procedimiento almacenado desde Visual Basic 6.0 a SQL Server 2000, ¿Cómo lo hago?
Yo en SQL Server, ejecuto:
EXEC sp_columns @table_name = 'Pedanias'
y en Visual Basic, estoy haciendo algo mal que no me funciona, el codigo es:
Dim cnBD As ADODB.Connection
Dim rs As ADODB.Recordset
Dim oCmd As ADODB.Command
Dim SentenciaSQL As String
Set cnBD = New ADODB.Connection
cnBD.CursorLocation = adUseServer
cnBD.ConnectionTimeout = 30
cnBD.ConnectionString = "Provider=SQLOLEDB.1;User ID=sa;Password=;Database=PORTAL;DataSource=INFO5;"
Set oCmd = New ADODB.Command
oCmd.ActiveConnection = cnBD
oCmd.CommandText = "sp_columns"
Set rs = oCmd.Execute(sp_columns)
oCmd.CommandText = "sp_columns @table_name = 'Pedanias'"
Set rs = oCmd.Execute
'cnBD.Open
'SentenciaSQL = "sp_databases"
'Set rs = New ADODB.Recordset
'rs.CursorLocation = adUseServer
'rs.Open SentenciaSQL, cnBD, adOpenForwardOnly, adLockReadOnly, adCmdStoredProc
'Set oCmd = New ADODB.Command
'oCmd.Parameters.Append oCmd.CreateParameter("@table_name", adVarChar, adParamInput, , "PEDANIAS")
'oCmd.CommandText = "sp_columns"
'oCmd.CommandType = adCmdStoredProc
'Set oCmd.ActiveConnection = cnBD
'Set rs = oCmd.Execute()
Do Until rs.EOF
lstInf.AddItem rs(0)
rs.MoveNext
Loop
Set oCmd = Nothing
rs.Close
cnBD.Close
Set cnBD = Nothing
¿Alguien me puede ayudar?. Gracias.

1 Respuesta

Respuesta
1
prueba agregando la siguiente línea de código
oCmd.CommandType = adCmdStoredProc
Antes de ejecutar la sentencia SQL.
Esta propiedad indica que lo que vas a ejecutar es un procedimiento almacenado. El valor de adCmdStoredProc es 4.
Si esto no funciona, avísame a ver si puedo darte otra idea. Hace un tiempo hice esto y no me acuerdo bien cómo era.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas