SQL Server - Procedimiento almacenado desde VB

 
Vista:

Procedimiento almacenado desde VB

Publicado por Manuel (1 intervención) el 10/03/2005 15:44:46
Hola a todos,

Tengo una base de datos en SQL Server con un procedimiento almacenado. Dicho procedimiento cuando lo ejecuto desde la consola de SQL Server me devuelve dos grids, una con la fecha y la segunda grid con el resultado que me interesa del procedimiento.

Necesito ejecutar este procedimiento desde visual basic y cuando lo hago el resultado lo almaceno en un recordset, pero el problema es que lo que obtengo en este recordset es la primera grid del resultado del procedimiento, no la segunda grid que es la que necesito.

No se si esto se debe arreglar desde visual basic o modificando el procedimiento. Si alguien supiera como hacerlo le estaría muy agradecido.

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Procedimiento almacenado desde VB

Publicado por EnriqueK (47 intervenciones) el 14/03/2005 15:40:05
Hola, bueno VB6 recordando si mal no me equivoco cuando tu haces tu consulta lo carga en el recorset la primera grilla para moverte a la segunta debes utilizar la propiedad rs.NextRecordSet que te lleva al segundo recordset almacenado, no recuerdo si en verdad funciona asi, pero creo q sirve.

Atte.
EnriqueK
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimiento almacenado desde VB

Publicado por aljequim@ (16 intervenciones) el 14/03/2005 23:51:57
Puedes guardar el resultado del grid que te intereza en un arreglo, como el siguiente

Public Function GetRowsOK(rstTemp As ADODB.Recordset, _
intNumber As Integer, avarData As Variant) As Boolean

' Store results of GetRows method in array.
avarData = rstTemp.GetRows(intNumber)
' Return False only if fewer than the desired
' number of rows were returned, but not because the
' end of the Recordset was reached.
If intNumber > UBound(avarData, 2) + 1 And _
Not rstTemp.EOF Then
GetRowsOK = False
Else
GetRowsOK = True
End If
End Function

Luego lo usas solo como un arreglo normal.

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar