备注
1.以下出现的代码字段为C#语法格式
2.持续更新ing
需要引用的命名空间
- using MySql.Data.MySqlClient;
一、MySqlConnection
示例的使用方法
- 1 //发送数据库连接字段 创建连接通道
- 2 using (MySqlConnection connection = new MySqlConnection(m_connectionString))
- 3 {
- 4 try
- 5 {
- 6 //打开连接通道
- 7 connection.Open();
- 8 }
- 9 catch (MySqlException E)
- 10 {
- 11 //如果有异常 则连接失败
- 12 throw new Exception(E.Message);
- 13 }
- 14 finally
- 15 {
- 16 //关闭连接通道
- 17 connection.Close();
- 18 }
- 19 }
- m_connectionString为数据库的连接字段,包含了数据库的IP字段,端口号和MySQL数据库用户名和登录密码,传参类型为string
数据库连接字符串的格式
- m_connectionString = string.Format("Server = {0}; port = {1}; Database = {2}; User ID = {3}; Password = {4}; Pooling=true; Charset = utf8;", m_databaseIP, m_databasePort, m_databaseName, m_userID, m_password);
关于string.Format的用法可以看这篇博文https://www.cnblogs.com/net-sky/p/10250880.html
二、MySqlCommand
示例的使用方法
- 1 using (MySqlConnection connection = new MySqlConnection(m_connectionString))
- 2 {
- 3 using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))
- 4 {
- 5 try
- 6 {
- 7 connection.Open();
- 8 int rows = cmd.ExecuteNonQuery();
- 9 }
- 10 catch (MySqlException E)
- 11 {
- 12 throw new Exception(E.Message);
- 13 }
- 14 finally
- 15 {
- 16 cmd.Dispose();
- 17 connection.Close();
- 18 }
- 19 }
- 20 }
1.MySqlCommand的四种初始化方法
- MySqlCommand()
- MySqlCommand(String)
- MySqlCommand(String, MySqlConnection)
- MySqlCommand(String, MySqlConnection, MySqlTransaction)
可选择的传参:
- String:给出的SQL语句
- MySqlConnection:连接数据库的实例对象
- MySqlTransaction:用于表示要在MySQL数据库中进行的SQL事务
2.ExecuteNonQuery()方法返回值
3.Dispose()方法
释放MySqlCommand所使用的所有资源
4.cmd的CommandTimeout参数
在终止执行命令和生成错误的尝试之前,设置的等待时间
命名空间
三、DataSet
示例的使用方法
- 1 public static DataSet ExecuteQuery(string SQLString)
- 2 {
- 3 using (MySqlConnection connection = new MySqlConnection(m_connectionString))
- 4 {
- 5 DataSet ds = new DataSet();
- 6 try
- 7 {
- 8 connection.Open();
- 9 MySqlDataAdapter da = new MySqlDataAdapter(SQLString, connection);
- 10 da.Fill(ds);
- 11 }
- 12 catch (MySqlException ex)
- 13 {
- 14 connection.Close();
- 15 throw new Exception(ex.Message);
- 16 }
- 17 finally
- 18 {
- 19 connection.Close();
- 20 }
- 21 return ds;
- 22 }
- 23 }
该方法实现的功能是执行查询语句,返回DataSet
1.MySqlDataAdapter的初始化方法
- MySqlDataAdapter()
- MySqlDataAdapter(MySqlCommand)
- MySqlDataAdapter(String, MySqlConnection)
- MySqlDataAdapter(String, String)
可选择的传参:
- 前两种实例化方法不多做介绍,主要说一下后两种
- String:SelectCommand变量类型,主要用于获取或设置用于在数据源中选择记录的SQL语句或存储过程;MySqlConnection:连接数据库的实例对象
- String:SelectCommand变量类型,主要用于获取或设置用于在数据源中选择记录的SQL语句或存储过程;String:连接的字符串;示例:MySqlDataAdapter da = new MySqlDataAdapter("SELECT id, name FROM mytable", "Data Source=localhost;database=test");
2.DataSet中的Fill方法
-
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)
使用 DataSet 和源表名称、命令字符串以及命令行为,在 DataSet 的指定范围中添加或刷新某些行以使它们与数据源中对应的行相一致。
- Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)
在 DataSet 的指定范围中添加或刷新行以匹配使用 DataSet 和 DataTable 名称的数据源中的行。
- Fill(DataSet, Int32, Int32, String)
在 DataSet 的指定范围中添加或刷新行以匹配使用 DataSet 和 DataTable 名称的数据源中的行。
- Fill(Int32, Int32, DataTable[])
在 DataTable 中添加或刷新行,以与从指定的记录开始一直检索到指定的最大数目的记录的数据源中的行匹配。
在 DataSet 的指定范围中添加或刷新行,以与使用 DataTable 名称的数据源中的行匹配。
在 DataSet 中添加或刷新行以匹配使用 DataSet 和 DataTable 名称的数据源中的行。
在 DataSet 中添加或刷新行。
- Fill(DataTable, IDbCommand, CommandBehavior)
在 DataTable 中添加或刷新行,以与使用指定的 DataTable、IDbCommand 和 CommandBehavior 的数据源中的行匹配。
说明(以示例中的调用方法为例)
da.Fill(ds)操作是将行添加到 DataTable 中的目标对象 DataSet ,也就是ds,并创建 DataTable 对象(如果它们尚不存在)。
四、参考博文和链接
https://www.cnblogs.com/nanyang0310/p/9115338.html
https://dev.mysql.com/doc/dev/connector-net/8.0/html/connector-net-reference.htm
https://docs.microsoft.com/zh-cn/dotnet/api/system.data.idataadapter.fill?view=net-5.0#System_Data_IDataAdapter_Fill_System_Data_DataSet_