Obtener el Diccionario de datos de una Tabla de MySql con C#
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 :
El control TreeView se utiliza para mostrar datos jerárquicos, como una tabla de conteni ...
Tenemos un archivo XML con la siguiente estructura en la cual cada nodo <item> representa ...
Que es un ORM. El mapeo objeto-relacional (más conocido por su nombre en inglés, Object-Relatio ...











[...] http://www.ubicuos.com/2010/07/25/obtener-el-diccionario-de-datos-de-una-tabla-de-mysql-con-c/ July 26, 2010 // MySQL // No Comments // [...]
[...] 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 [...]