Visual Basic - Llenar grid con Stored Procedure

Life is soft - evento anual de software empresarial
   
Vista:

Llenar grid con Stored Procedure

Publicado por bsin (6 intervenciones) el 15/04/2011 22:24:27
Necesito mostrar los datos entre dos fechas en un datagrid desde una tabla en Sql Server 2005 mediante un Stored Procedure que se llama "customtrb". Aqui les envío el código a ver en que estoy fallando. Me produce un error "El conjunto de filas no admite marcadores". Muchas gracias.

Dim rst As ADODB.Recordset
Dim cmd As ADODB.Command
Set rst = New ADODB.Recordset
Set cmd = New ADODB.Command
Call databaseconnecta12

cmd.ActiveConnection = cxRegData12
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "Customtrb"

Dim dt3 As String
dt3 = (Text6.Text)
Dim dt4 As String
dt4 = (Text7.Text)
cmd.Parameters.Append cmd.CreateParameter("@Startdate", adVarChar, adParamInput, 8, dt3)
cmd.Parameters.Append cmd.CreateParameter("@Enddate", adVarChar, adParamInput, 8, dt4)

Set rst = cmd.Execute
Set DataGrid1.DataSource = rst
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

Llenar grid con Stored Procedure

Publicado por Rolando (4 intervenciones) el 20/04/2011 18:55:04
Prueba esta otra forma un poco mas practica.


Dim rst As ADODB.Recordset
Dim cmd As ADODB.Command
Set rst = New ADODB.Recordset
Set cmd = New ADODB.Command
Call databaseconnecta12

Dim dt3 As String
Dim dt4 As String

dt3 = (Text6.Text)
dt4 = (Text7.Text)

cmd.ActiveConnection = cxRegData12
cmd.CommandType = adCmdtext <<<<<< se cambio a texto
cmd.CommandText = " exec Customtrb '" & dt3 & "', '" & dt4 & "' "

'----------- con el comandtext ejecutas como si estuvieras en el analizador del SQL

Set rst = cmd.Execute <<<< FUNIONA PERO SINO , USA ESTE OTRO CODIGO .
'-----rs.Open Cmd, , adOpenDynamic, adLockOptimistic

Set DataGrid1.DataSource = rst

Espero te ayude

Saludos.

Rolando.
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

Llenar grid con Stored Procedure

Publicado por william (1 intervención) el 11/06/2011 04:30:54
Saludos Rolando

Tu explicación me sirvió para tener la idea como ejecutar stored procedure

pero me dice que "el recordset actual no admite marcadores"
¿qué puede ser?

yo modifiqué tu ejemplo así:

Dim rst As ADODB.Recordset
Dim cmd As ADODB.Command
Set rst = New ADODB.Recordset
Set cmd = New ADODB.Command

cmd.ActiveConnection = cxRegData12
cmd.CommandType = adCmdtext
cmd.CommandText = " exec Customtrb "


--Set rst = cmd.Execute
rs.Open Cmd, , adOpenDynamic, adLockOptimistic

Set DataGrid1.DataSource = rst <---EN ESTA LINEA ME DA EL ERROR
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