unity链接MySQL数据库学习(一)前置知识点介绍

备注html

1.如下出现的代码字段为C#语法格式mysql

2.持续更新ingsql

 

须要引用的命名空间数据库

using MySql.Data.MySqlClient;

1、MySqlConnectionapi

示例的使用方法spa

 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的用法能够看这篇博文http://www.javashuo.com/article/p-mjrinhag-vd.html命令行

 

2、MySqlCommandcode

示例的使用方法orm

 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的四种初始化方法htm

  • MySqlCommand()
  • MySqlCommand(String)
  • MySqlCommand(String, MySqlConnection)
  • MySqlCommand(String, MySqlConnection, MySqlTransaction)

可选择的传参:

  • String:给出的SQL语句
  • MySqlConnection:链接数据库的实例对象
  • MySqlTransaction:用于表示要在MySQL数据库中进行的SQL事务

2.ExecuteNonQuery()方法返回值

  • 对于 Update,Insert,Delete语句执行成功是返回值为该命令所影响的行数,若是影响的行数为0时返回的值为0。
  • 对于全部其余类型的语句,返回值为 -1。
  • 若是发生回滚,返回值也为 -1 。
  • 咱们平时对于更新操做经过判断返回值是否大于0没有问题并且比较好,可是对于其余的操做如对数据库结构的操做,若是操做成功时返回的倒是-1,这种状况跟咱们平时的思惟方式有点差距因此应该好好的注意了,例如对数据库共添加一个数据表的Create操做,当建立数据表成功时返回-1,若是操做失败的话(如数据表已经存在)每每会发生异常,因此执行这种操做时最好用try--catch--语句来容错。

3.Dispose()方法

释放MySqlCommand所使用的全部资源

4.cmd的CommandTimeout参数

 在终止执行命令和生成错误的尝试以前,设置的等待时间

 

命名空间

using System.Data

3、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 中添加或刷新行,以与从指定的记录开始一直检索到指定的最大数目的记录的数据源中的行匹配。

  • Fill(DataTable)

  在 DataSet 的指定范围中添加或刷新行,以与使用 DataTable 名称的数据源中的行匹配。

  • Fill(DataSet, String)

  在 DataSet 中添加或刷新行以匹配使用 DataSet 和 DataTable 名称的数据源中的行。

  • Fill(DataSet)

  在 DataSet 中添加或刷新行。

  • Fill(DataTable, IDbCommand, CommandBehavior)

  在 DataTable 中添加或刷新行,以与使用指定的 DataTable、IDbCommand 和 CommandBehavior 的数据源中的行匹配。

说明(以示例中的调用方法为例)

  da.Fill(ds)操做是将行添加到 DataTable 中的目标对象 DataSet ,也就是ds,并建立 DataTable 对象(若是它们尚不存在)。 

 

4、参考博文和连接

http://www.javashuo.com/article/p-tbeeyrdu-vd.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_

相关文章
相关标签/搜索