C#编程连接MySQL数据库指南

需积分: 9 4 下载量 175 浏览量 更新于2024-09-20 收藏 39KB DOC 举报
"C#连接Mysql数据库的方法及示例代码" C#连接MySQL数据库是将C#应用程序与MySQL数据库交互的基础。为了实现这种连接,首先需要确保在项目中添加了对`Mysql.Data.dll`组件的引用。这个组件是MySQL官方提供的.NET数据提供程序,允许C#代码直接与MySQL服务器通信。 在C#代码中,我们需要引入`MySql.Data.MySqlClient`命名空间,这是执行MySQL操作所需的关键类库。同时,可能还需要引用`System.Data`,因为经常需要使用DataTable来处理查询结果。 以下是一个简单的C#类`DBHelper`,用于创建和返回一个`MySqlConnection`对象的示例: ```csharp using MySql.Data.MySqlClient; // 导入MySQL的包 using System.Data; public class DBHelper { private string database = "your_database_name"; private string local = "localhost"; // 数据库服务器地址 private string user = "your_username"; private string password = "your_password"; public MySqlConnection GetConn() { MySqlConnection mysqlconn = new MySqlConnection($"Database={database};DataSource={local};User Id={user};Password={password}"); return mysqlconn; } } ``` 在这个类中,`GetConn`方法创建了一个新的`MySqlConnection`实例,其中包含了连接MySQL服务器所需的配置信息,如数据库名、服务器地址、用户名和密码。 接下来,我们可以创建一个`SQLHelper`类,扩展`DBHelper`,并提供执行查询和非查询操作的方法: ```csharp public class SQLHelper : DBHelper { ///<summary> /// 查询操作 ///</summary> ///<param name="sql">SQL查询语句</param> ///<returns>查询结果的DataTable</returns> public DataTable SelectInfo(string sql) { MySqlConnection mysqlconn = null; MySqlDataAdapter sda = null; DataTable dt = null; try { mysqlconn = base.GetConn(); sda = new MySqlDataAdapter(sql, mysqlconn); dt = new DataTable(); sda.Fill(dt); return dt; } catch (Exception ex) { throw ex; } } ///<summary> /// 增删改操作 ///</summary> ///<param name="sql">SQL更新语句</param> ///<returns>执行后影响的行数</returns> public int ExecuteNonQuery(string sql) { MySqlConnection mysqlconn = null; MySqlCommand cmd = null; int result = 0; try { mysqlconn = base.GetConn(); cmd = new MySqlCommand(sql, mysqlconn); mysqlconn.Open(); result = cmd.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } finally { if (mysqlconn != null && mysqlconn.State == ConnectionState.Open) { mysqlconn.Close(); } } return result; } } ``` `SQLHelper`类中的`SelectInfo`方法用于执行SQL查询,并将结果填充到一个DataTable中返回。而`ExecuteNonQuery`方法则用于执行不返回数据的SQL语句,如INSERT、UPDATE或DELETE,它返回的是受影响的行数。 通过这些基础的数据库操作方法,你可以根据需要构建更复杂的C#应用程序,实现与MySQL数据库的深度集成,包括读取数据、写入数据、事务处理等高级功能。在实际项目中,还需要考虑错误处理、连接池的使用、事务的管理以及安全性措施,例如使用参数化查询来防止SQL注入攻击。