Cómo utilizar la base de datos MySQL en .NET
Siempre he usado Sql Server como base de datos en .NET. Hace unos días, estaba aprendiendo a usar Java para conectarme a la base de datos MySql a través de JDBC. Me preguntaba si .NET también puede usar la base de datos MySql. La respuesta es sí y el método es muy simple. Aquí uso C# como lenguaje de programación y comparto el método que compilé contigo. Quiero usar la base de datos MySql en .NET
Siempre he usado Sql Server como base de datos en .NET. Hace unos días, estaba aprendiendo a usar Java para conectarme a la base de datos MySql a través de JDBC. Me preguntaba si .NET también puede usar la base de datos MySql. La respuesta es sí y el método es muy simple. Aquí uso C# como lenguaje de programación y comparto el método que compilé contigo.
Para usar la base de datos MySql en .NET, los pasos son:
1. Descargue el paquete del controlador MySql
2. Haga referencia a la clase MySql del paquete del controlador compilado. componente
3. Escribir código
Paso 1: descargar el paquete de controladores MySql
Cuando escribí este artículo, el último paquete de controladores era compatible con Visual Studio. 2008. La dirección de descarga oficial es /downloads/connector/net/5.2.html
Paso 2: Introduzca los componentes
El archivo descargado es un archivo comprimido, descomprímalo en el disco local. Busque el archivo MySql.Data.dll en la carpeta bin. Este es el componente al que queremos hacer referencia. Referencialo en tu proyecto a través de Visual Studio
Paso 3: Codificación. Escribí un ejemplo de consola y agregué comentarios a las partes importantes. El código es el siguiente:
1/**. //**
2 * Nombre del programa: Use .NET para conectarse a la base de datos MySql
3 * Autor: Wu Lei
4 * Fecha: 17 de enero , 2009
5 */
6
7// Usando el espacio de nombres MySql.Data.MySqlClient
8usando System; p>
9usando MySql.Data.MySqlClient;
10
11espacio de nombres Project_Personnel.db
12{
13 clase dbManage
14 {
15 /**////
16 /// Conéctese a la base de datos MySql y devuelva el objeto de conexión
17 ///
18 /// Objeto de conexión a base de datos
19 privado estático MySqlConnection getCon()
20 {
21 MySqlConnection myCon = null;
22 try
23 {
24 /**//*
25 * Servidor: base de datos servidor. localhost representa la máquina local
26 * Base de datos: nombre de la base de datos. school representa una base de datos llamada school en mySql
27 * Uid: nombre de usuario
28 * Pwd: contraseña
29 * CharSet: codificación de caracteres utilizada.
No establecer la configuración puede resultar en caracteres confusos
30 */
31 myCon = new MySqlConnection("Server=localhost; Database=school;
Uid=root ; Pwd= 123; CharSet=utf8; ");
32 myCon.Open();
33 }
34 captura (MySqlException e)
p>35 {
36 //Lanza una excepción al conectarse a la base de datos MySql
37 throw new Exception(e.Message);
38 }
39 return myCon;
40 }
41
42 public static void Main()
43 { p>
44 try
45 {
46 //Instrucción SQL para recuperar datos de la tabla de la escuela (no me malinterpretes, creé una tabla de la escuela en la base de datos de la escuela)
47 MySqlCommand myCmd = new MySqlCommand("select * from school", getCon()
48
49); //Ejecuta la declaración de recuperación y el resultado de la ejecución se asigna al objeto MySqlDataReader
50 MySqlDataReader myReader = myCmd.ExecuteReader();
51
52 / /Read
53 while (myReader.Read())
54 {
55 //La propiedad FieldCount de MyReader indica el número de columnas
56 for (int i = 0 ; i 57 {
58 /**//*
59 * Consejo: si usa esta declaración if, se producirá una excepción: los datos están vacíos y este método no se puede invocar con un valor o atributos nulos.
60 * Determine si el valor en la columna con índice i está vacío. Si está vacío, genere NULL
61 */
62 if (! myReader[ i].Equals(DBNull.Value))
63 {
64 Console.Write("{0, 10}", myReader[i]);
65 }
66 else
67 {
68 Console.Write("{0, 10}", "Null");
69 }
70 }
71 //Salto de línea
72 Console.WriteLine();
73 }
74 }
75 //Capturar excepción de MySql
76 captura (MySqlException e)
77 {
78 Console.WriteLine(e.Message);
79 }
80 //Capturar otras excepciones
81 captura (Excepción e) p>
82 {
83 Console.WriteLine(e.Message);
84 }
85 finalmente
86 { p>
87 Console.ReadKey();
88 }
89 }
90 }
91 }