Autor Tema: Recuperar datos de Procedimiento Almacenado con parametros  (Leído 1433 veces)

0 Usuarios y 1 Visitante están viendo este tema.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Recuperar datos de Procedimiento Almacenado con parametros
« en: Agosto 11, 2017, 12:18:14 pm »
Hola tengo un Procedimiento Almacenado en MySQL muy sencillo solo es un Select, como puedo recuperar en un recodrset para poder mostrar en una grilla.

Mi Procedimiento en el MySQL es esta :

Código: (SQL) [Seleccionar]
CREATE PROCEDURE mCedulas(IN prm INTEGER)
SELECT cedula FROM clientes WHERE cedula=prm


La forma común de recuperar datos en un recordset uso este código.

Código: (VB) [Seleccionar]
Private Sub Command1_Click()

    Dim cnADO As ADODB.Connection
    Dim rsADO As ADODB.Recordset
   
    Set cnADO = New ADODB.Connection
    Set rsADO = New ADODB.Recordset
     
    rsADO.CursorLocation = adUseClient
   
    cnADO.ConnectionString = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=cobranzas; User=root;Password=;Option=3;"
    cnADO.Open

    strSQL = "SELECT cedula FROM clientes WHERE cedula='3230148'"
    rsADO.Open strSQL, cnADO, adOpenStatic, adLockOptimistic, adCmdText
   
    Do Until rsADO.EOF
        With rsADO
            Text1.Text = .Fields("cedula")
            rsADO.MoveNext
        End With
    Loop

End Sub
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

obethermy

  • Megabyte
  • ***
  • Mensajes: 116
  • Reputación: +6/-7
    • Ver Perfil
Re:Recuperar datos de Procedimiento Almacenado con parametros
« Respuesta #1 en: Agosto 15, 2017, 11:42:08 pm »
este es el archivo del procedimiento almacenado  mCedulas.sql
si te fija mi usuario mysql es bethermy y mi servidor es localhost y abierto por internet(%)
Código: (SQL) [Seleccionar]
DELIMITER $$
DROP PROCEDURE IF EXISTS `mCedulas`$$
CREATE DEFINER='bethermy'@'localhost,%' PROCEDURE `mCedulas`(IN prm INTEGER)
BEGIN
SELECT cedula FROM clientes WHERE cedula=prm;
END $$
DELIMITER ;

y en visual basic sustituye en la linea comentada

Código: (VB) [Seleccionar]
'strSQL = "SELECT cedula FROM clientes WHERE cedula='3230148'"
'rsADO.Open strSQL, cnADO, adOpenStatic, adLockOptimistic, adCmdText
valor_ci="3230148"
Set rsADO = cnADO.Execute("call mCedulas('" & valor_ci & "')")