Foros del Web » Programación para mayores de 30 ;) » .NET »

Store Procedure VB.NET y MYSQL

Estas en el tema de Store Procedure VB.NET y MYSQL en el foro de .NET en Foros del Web. Hola, como estan, hoy tengo el siguiente problema. Quiero desde vb.net llamar o ejecutar un store que me devuelva un registro. Mi problema es que ...
  #1 (permalink)  
Antiguo 05/06/2011, 13:52
Avatar de mau_87lp  
Fecha de Ingreso: diciembre-2009
Ubicación: La Plata,Buenos Aires.
Mensajes: 72
Antigüedad: 14 años, 11 meses
Puntos: 3
Pregunta Store Procedure VB.NET y MYSQL

Hola, como estan, hoy tengo el siguiente problema.
Quiero desde vb.net llamar o ejecutar un store que me devuelva un registro. Mi problema es que no lo consigo. El codigo que estoy usando es el siguiente:

Codigo Visual Basic .NET
Código:

Try
                Dim con As New MySqlConnection("server=localhost;User Id=alberto;Password=123456;database=comercio") 'Persist Security Info=True;
                Dim comm As New MySqlCommand("Consultar_Articulo", con)
                comm.CommandType = CommandType.StoredProcedure
                con.Open()
                Dim par As New MySqlParameter("@Cod_Barras", MySqlDbType.Int32)
                par.Size = 15
                par.Value = txtCodBarras.Text
                comm.Parameters.Add(par)

                Dim da As New MySqlDataAdapter
                da.SelectCommand = comm
                da.SelectCommand.Connection = con

                Dim ds As New DataSet
                da.Fill(ds, "usuario")

                dgvProductos.DataSource = ds.Tables("usuario")
                dgvProductos.Refresh()
                con.Close()


            Catch ex As MySqlException
                MessageBox.Show(ex.Message)
            End Try
Codigo MySql
Código:

CREATE PROCEDURE Consultar_Articulo(IN Cod_Barras INT)
SELECT Cod_Barra,Nom_Articulo,Precio
FROM Articulos 
WHERE Cod_Barra = Cod_Barras;
El store desde mysql si lo llamo o ejecuto funciona, pero desde visual no.
Estoy usando el conector de mysql para .net, mysql 5.1 y Visual Studio 2008. Espero que alguien me pueda dar una mano, desde ya muchas gracias.


Saludos
  #2 (permalink)  
Antiguo 24/08/2011, 22:41
 
Fecha de Ingreso: febrero-2008
Mensajes: 23
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Store Procedure VB.NET y MYSQL

Si no estoy mal debes usar INOUT para que te devuelva lo que deseas.. Igual aqui tienes buenas referencias
http://dev.mysql.com/doc/refman/5.0/es/stored-procedure-syntax.html
  #3 (permalink)  
Antiguo 25/08/2011, 07:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Store Procedure VB.NET y MYSQL

Hay modos más sencillos para hacer esto:
Código vb:
Ver original
  1. Try
  2.             ' Crear y abrir la conexión.
  3.            Dim con As New MySqlConnection("server=localhost;User Id=alberto;Password=123456;database=comercio") 'Persist Security Info=True;
  4.            con.Open()
  5.  
  6.             ' Crear em MysqlCommand. Si la conexión está cerrada puede darte un error.
  7.            Dim comm As New MySqlCommand("Consultar_Articulo", con)
  8.             comm.CommandType = CommandType.StoredProcedure
  9.             comm.Parameters.AddWithValue("@Cod_Barras", Convert.ToInt32(txtCodBarras.Text)).Direction = ParameterDirection.Output
  10.             Dim da As New MySqlDataAdapter(comm)
  11.             Dim ds As New DataSet
  12.             da.Fill(ds, "usuario")
  13.  
  14.             dgvProductos.DataSource = ds.Tables("usuario")
  15.             dgvProductos.Refresh()
  16.             con.Close()
  17.         Catch ex As MySqlException
  18.             MessageBox.Show(ex.Message)
  19.         End Try
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 25/08/2011, 13:41
Avatar de mau_87lp  
Fecha de Ingreso: diciembre-2009
Ubicación: La Plata,Buenos Aires.
Mensajes: 72
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: Store Procedure VB.NET y MYSQL

Gracias, mejor tarde que nunca.
  #5 (permalink)  
Antiguo 25/08/2011, 16:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Store Procedure VB.NET y MYSQL

Uno de los detalles que debes tener en cuenta es que un Stored Procedure no se puede usar como SelectCommand, porque no se puede interactuar con la base a través de él, que es el objeto de usar esa propiedad.
En esencia, es un proceso unidireccional: Lo que se obtiene de un SP es una entrada/salida cerrada. Una vez terminado, todo enlace con los datos de origen desaparece, y sólo te pueden quedar los datos obtenidos. Esto es así porque la lectura de datos no ocurre en el VB, sino en un subproceso del MySQL que ya terminó.
¿Se entiende la idea?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: mysql, procedure, store, vbnet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:38.