1.连接条件
在实现连接之前,我们要先给MySQl安装一个连接环境MySQL Connector Net,这个可以在官网下载(MySQL :: Download Connector/NET),下载完成之后在MySQL文件夹里面找到MySQl.data.dll的文件,将这个文件拖入到unity就行了。
2.初始连接(MySqlConnection)
MySqlConnection连接类:MySqlConnection类是.NET Framework中用于建立和管理与MySQL数据库的连接的类。它属于MySql.Data.MySqlClient命名空间。
使用方法:
string conStr = "server=localhost; database=t1;userid=root;password=123456;";//sql语句
MySqlConnection con = new MySqlConnection(conStr);//创建一个连接类实例
con.Open();//开启连接---程序关闭时记得调用con.Close()
3.指令发布
我们常用MySQl进行数据的查询以及插入删除,我们可以通过MySqlCommand类来执行我们在c#中定义的语句,在我的理解看来MySqlCommand类是将在c#中定义sql方法放到MySQL语句中执行。它有3个常用方法:
ExecuteReader:调用ExecuteReader方法来查询数据库。返回MySqlDataReader对象
ExecuteNonQuery:调用ExecuteNonQuery来插入和删除数据
ExecuteScalar:仅返回单个值--返回sql语句执行后影响的行数
使用方法:
string str = "select * from student;";//sql语句
MySqlCommand com = new MySqlCommand(str, con);//
MySqlDataReader read = com.ExecuteReader();//获取数据库该表的数据
4.查询指令
MySqlDataReader查询类(有它创建的对象获取的是整个sql执行后的数据)。
使用方法
string str = "select * from student where;";
MySqlCommand com = new MySqlCommand(str, con);//将指令和连接数据库类关联
MySqlDataReader read = com.ExecuteReader();//获取数据库该表的数据
while (read.Read())
{
Debug.Log(read[0].ToString());//可以获取表信息
}
read.Close();//重点,在遍历结束后一定要关闭
源码:
public class NewText
{
public static MySqlConnection conon;
static string server = "localhost";//本地名字
static string databeae = "t1";//所使用的数据库名称
static string userid = "root";//用户名
static string password = "123456";//密码
public static void OpenSql()//创建连接
{
try
{
string sqlStr = string.Format("server={0}; database={1};userid={2};password={3}", server, databeae, userid, password);
con = new MySqlConnection(sqlStr);
con.Open();
Debug.Log("数据库连接成功");
}
catch (System.Exception e)
{
Debug.Log("数据库连接失败:" + e.ToString());
}
}
public NewText()//初始化
{
OpenSql();
}
public void Add()//插入
{
MySqlConnection con = new MySqlConnection(conStr);//创建一个连接类实例
con.Open();//开启连接
string str = "select * from student;";
MySqlCommand com = new MySqlCommand(str, con);//将指令和连接数据库类关联
read.Close();//关闭读取
com.ExecuteNonQuery();//执行指令
}
public void Show()
{
string str = "select * from student where;";
MySqlCommand com = new MySqlCommand(str, con);//将指令和连接数据库类关联
MySqlDataReader read = com.ExecuteReader();//获取数据库该表的数据
while (read.Read())//获取读取的每一行的数据
{
int id = read.GetInt32("id");
string name = read.GetString("name");
string password = read.GetString("password");
string sex = read["sex"].ToString();//枚举类型
string hobby = read["hobby"].ToString();//set类型
System.DateTime create_time = read.GetDateTime("create_time");
}
read.Close();//关闭读取
com.ExecuteNonQuery();//执行指令
}
}