Obtener el Diccionario de datos de una Tabla de MySql con C#

julio 25 20102 comentarios

Guardado en : Microsoft, Programación, Software Libre

Obtener el Diccionario de datos de una Tabla de MySql con C#

INFORMATION_SCHEMA

MySql guarda los metadatos de las bases de datos en una base de datos llamada INFORMATION_SCHEMA.

Los metadatos son datos acerca de los datos, tales como el nombre de la base de datos o tabla, el tipo de datos de una columna, o permisos de acceso. También son conocidos como diccionario de datos o catalogo del sistema.

INFORMATION_SCHEMA es la base de datos de información, que almacena información acerca de todas las otras bases de datos que mantiene el servidor MySql . Dentro del INFORMATION_SCHEMA hay varias tablas de sólo lectura. En realidad son vistas, no tablas, así que no puede ver ningún fichero asociado con ellas.

Algunos campos de algunas tablas que se en encuentran en INFORMATION_SCHEMA utilizados en el tutorial

COLUMN_NAME //el nombre del campo

IS_NULLABLE //si admite valores nulos

DATA_TYPE //tipo de dato

CHARACTER_MAXIMUM_LENGTH //tamaño

COLUMN_KEY //si es primary key, foreign key, etc.

Hay una gran cantidad de tablas con campos que guardan informacion de las bases de datos de MySql el listado anterior solo son algunos de muchos campos.

MySql y C#

Para comenzar a trabajar con MySql y C# es necesario descargar un conector necesario que puedes descargar en http://dev.mysql.com/downloads/connector/net/

Instalado el conector. Creamos un nuevo proyecto, Quedando de la siguiente manera le formulario.

Para poder trabajar con MySql desde C# es necesario agregar una referencia al que conector que anteriormente descargamos e instalamos. Para esto vamos a Menú Proyecto > Agregar referencia…

Seleccionamos la pestaña Examinar y vamos a la siguiente ruta C:\Archivos de programa\MySQL\MySQL Connector Net 5.2.7\Binaries\.NET 2.0 y seleccionamos el archivo MySql.Data.dll

Es necesario agregar los siguientes namespace

using MySql.Data.MySqlClient;
using MySql.Data;

El codigo para generar el Diccionario de datos es el siguiente:

private void btnGenerar_Click(object sender, EventArgs e)
 
        {
 
                int i = 0;
 
                MySqlConnection Conexion = new MySqlConnection("DataBase=''; DataSource=localhost; Port=3306; User=root; Password=tupassword");
 
                Conexion.Open();
 
                string consulta = string.Format(("SELECT COLUMN_NAME as Columna, IS_NULLABLE as AdmiteNulos," +
 
                "DATA_TYPE as TipoDatos, CHARACTER_MAXIMUM_LENGTH as MaxChar, COLUMN_KEY as Llave FROM Infor" +
 
                "mation_Schema.Columns WHERE TABLE_NAME = '{0}' and table_schema = '{1}'"), txtTabla.Text, txtBD.Text);
 
                MySqlDataReader drCampos;
 
                MySqlCommand comando = new MySqlCommand(consulta, Conexion);
 
                drCampos = comando.ExecuteReader();
 
                dgvDiccionarioDatos.Rows.Clear();
 
                while (drCampos.Read())
 
                {
 
                    this.dgvDiccionarioDatos.Rows.Insert(i, drCampos[0].ToString(), drCampos[2].ToString(), drCampos[3].ToString(), drCampos[1].ToString(), drCampos[4].ToString());
 
                    i += 1;
 
                }
 
                drCampos.Close();
 
                Conexion.Close();
 
        }

Espero y les sirva de ayuda este pequeño tutorial, Saludos…

Quizá te interese :

Acerca del autor:

2 Respuestas a “Obtener el Diccionario de datos de una Tabla de MySql con C#”

  1. [...] Para esto es necesario utilizar un driver que permita interactuar C# con MySql la información necesaria para conectar MySql y C# la podrás ver en el siguiente Post: http://www.ubicuos.com/?p=1764 [...]

Deja un comentario


Licencia y uso

Las técnicas demostradas en los tutoriales pueden ser utilizadas sin ninguna limitación y tampoco es obligatorio dar una atribución.


Los textos, imágenes y tutoriales son propiedad de sus respectivos autores, nuestro contenido se encuentra bajo licencia Creative Commons Share-Alike.

Escribe algo para el sitio

El escribir un tutorial o un artículo, mandarnos un enlace para Ubicuos, no solamente es una forma de obtener publicidad, si no también de dar algo a la comunidad y nosotros te lo recompensamos con los premios del mes! Leer más de nuestras promociones

¿Sugerencias?

Este es TU sitio, si tienes sugerencias o ideas de cómo podemos mejorarlo para ti, ¡Por favor háznoslos saber!

Hacemos nuestro mayor esfuerzo en proporcionar un sitio útil y amigable y esperamos que disfrutes tu tiempo aquí.

Ayuda a Difundir

Te gusta Ubicuos?

Ve las formas en que nos puedes apoyar.

Apoyando a Ubicuos.com

Submit your linkClose

-->