InicioInfoUsar Parámetros en procedimientos almacenados ( .NET y MySq

Usar Parámetros en procedimientos almacenados ( .NET y MySq

Info2/27/2011
Perdon pero no entraba el titulo, este es el titulo ¿Sabes usar parámetros en procedimientos almacenados con .NET y MySQL? Ok, sigamos, primero que nada un aviso: >-- Si queres saber todo sobre programacion, software, sistemas operativos. Sewguime. ¡No lo dudes! Continuamos con el post: aquí pongo este trozo de conocimiento para todo aquel que necesite trabajar contra MySQL desde .NET. El código es muy fácil pasarlo a C# y otros asi que... Aquí se puede ver desde cómo conectar con una base de datos MySQL (ya existe información) hasta como usar procedimientos almacenados pasándo parámetros. Para ello uso programación en Visual Basic .NET 2010, las librerías de MySQLConnector (http://www.mysql.com) y por supuesto MySQL. Manos a la obra Primero creamos un procedimiento almacenado en nuestra base de datos. CREATE DEFINER=`root`@`localhost` PROCEDURE `mi_procedimiento`(IN mi_variable VARCHAR(15)) BEGIN declare variable1 VARCHAR(15); set variable1 = mi_variable; select * from MiTabla where Cod_Tabla like variable1; END pasamos la variable de entrada (de entrada: "IN", de salida: OUT, ambas: INOUT [o algo así ;-)]) mi_variable que es un texto. Ahora toca usar el procedimiento almacenado en la base de datos desde nuestra aplicación en Visual Basic .NET ¿Cómo? sencillo (lo sencillo que se hace cuando ya lo sabes jejeje) Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim conStr As String conStr = "server=localhost;user id=root;password=passwd;database=basedatos" Dim con As New MySqlConnection(conStr) Try con.Open() Catch ex As Exception 'Código de captura de la excepción End Try Dim comando As New MySqlCommand("mi_procedimiento", con) comando.CommandType = CommandType.StoredProcedure Dim fila As MySqlDataReader Dim p As New MySqlParameter("?mi_variable", MySql.Data.MySqlClient.MySqlDbType.VarChar) p.Value = "root" p.Direction = ParameterDirection.InputOutput comando.Parameters.Add(p) Try fila = comando.ExecuteReader While fila.Read MsgBox(fila(0).ToString) End While fila.Close() Catch ex As MySqlException 'Código de captura de la excepción End Try con.Close() End Sub El primer bloque consiste en conectar con la base de datos, creo que en este punto no hace falta explicar como se conecta con la base de datos porque es idéntica a cualquier otra conexión con bases de datos diferentes. Ahora toca crear el comando que va a llamar al procedimiento almacenado: Dim comando As New MySqlCommand("mi_procedimiento", con) comando.CommandType = CommandType.StoredProcedure sencillo, ¿no? declaramos el objeto MySQLCommand y le decimos (2ª lïnea) que se trata de un procedimiento almacenado. Ahora toca lo interesante: pasarle el parámetro (con lo sencillo que se hacía en SQLServer). Dim p As New MySqlParameter("?mi_variable", MySql.Data.MySqlClient.MySqlDbType.VarChar) p.Value = "root" p.Direction = ParameterDirection.InputOutput comando.Parameters.Add(p) Muy importante: dar la dirección del parámetro de entrada/salida (en mi caso, y teniendo en cuenta mis escasos dummie-conocimientos, era la única manera de que funcionara). El resto es como lo demás, declaras y creas el objeto parámetro (1ª línea), especificando el parámetro y su tipo, darle un valor (2ª línea), especificar la dirección (3ª línea) y añadirselo al comando (última línea) porque si no esto no vale "pa ná". El último bloque es como el resto, en mi caso un datareader captura el resultado y lo proceso mostrando el valor del primer campo. El código completo: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim conStr As String conStr = "server=localhost;user id=root;password=passwd;database=basedatos" Dim con As New MySqlConnection(conStr) Try con.Open() Catch ex As Exception 'Código de captura de la excepción End Try Dim comando As New MySqlCommand("mi_procedimiento", con) comando.CommandType = CommandType.StoredProcedure Dim fila As MySqlDataReader Dim p As New MySqlParameter("?mi_variable", MySql.Data.MySqlClient.MySqlDbType.VarChar) p.Value = "root" p.Direction = ParameterDirection.InputOutput comando.Parameters.Add(p) Try fila = comando.ExecuteReader While fila.Read MsgBox(fila(0).ToString) End While fila.Close() Catch ex As MySqlException 'Código de captura de la excepción End Try con.Close() End Sub Espero que resulte muy útil para todo el mundo y nos ayude a crear amistad entre MySQL y .NET, que no todo fue un camino de rosas (hasta antes de MySQL Connector al menos). Y como decía un maestro: ahora, de ejercicio, hacerlo para C#, C++, etc. ;-) Espacios de nombres usados en el código: MySql.Data.MySqlClient (de la libreria MySQLConnector) Eso es todo, saludos! Fuente: elguille.info
Datos archivados del Taringa! original
20puntos
4,036visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

x
xenowort🇦🇷
Usuario
Puntos0
Posts41
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.