一、连接准备
1. MySql.Data插件
- Visual Studio中下载
- 打开Visual Studio_项目_管理NuGet程序包
- 在浏览中搜索MySql.Data并下载
2.MySql官网下载插件
- 前提已经安装mysql,然后到官网下载以下三个东西(最好不要使用最新版本)
- MySQL Connector Net
- Connector ODBC 8.0
- MySQL for VIsaul Studio
- 下载完直接双击(傻瓜式)安装即可
3.连接测试(可选)
-
打开Visual Studio_视图_服务器资源管理器
-
在弹出的窗口,右键数据连接,选择添加连接
-
选择MySQL Database,点击继续
-
输入数据库地址、账号、密码、数据库名,然后点击测试连接
-
弹出对话框“测试连接成功”,则可进入下一步
二、Unity链接MySql
1.在Unity中导入dll文件
- dll如下(共五个)
- 如果不打包exe文件,仅需导入最后一个dll文件即可
- 如果不打包exe文件,仅需导入最后一个dll文件即可
在路径:C:\Program Files (x86)\MySQL\MySQL Connector Net6.8.7\Assemblies\v2.0中找到MySql.Data.dll导入Unity中Plugins文件夹下
对应Unity的安装目录:Unity\Editor\Data\MonoBleedingEdge\lib\mono\unityjit;找到其余dll文件
2. 创建数据库,内容如下:
3. 编写查询脚本进行测试
public void InquireMysql()
{
//数据库地址、用户名、密码、数据库名
string sqlSer = "server = localhost;port = 3306;database = test;user = root;password = 123456";
//建立连接
MySqlConnection conn = new MySqlConnection(sqlSer);
try
{
conn.Open();
Debug.Log("------链接成功------");
//sql语句
string sqlQuary = " select * from mytable";
MySqlCommand comd = new MySqlCommand(sqlQuary, conn);
MySqlDataReader reader = comd.ExecuteReader();
while (reader.Read())
{
//通过reader获得数据库信息
Debug.Log(reader.GetString("user_name"));
Debug.Log(reader.GetString("user_password"));
}
}
catch (System.Exception e)
{
Debug.Log(e.Message);
}
finally
{
conn.Close();
}
}
运行结果:
4. 编写插入脚本进行测试
- 修改,删除处理在此脚本基础上修改SQL语句即可
public void ChangedMysql()
{
//数据库地址、用户名、密码、数据库名
string sqlSer = "server = localhost;port = 3306;database = test;user = root;password = 123456";
MySqlConnection conn = new MySqlConnection(sqlSer);
try
{
conn.Open();
Debug.Log("------链接成功------");
string sqlQuary = "insert into mytable(user_name,user_password) values (@user_name, @user_password)";
MySqlCommand comd = new MySqlCommand(sqlQuary, conn);
comd.Parameters.AddWithValue("@user_name", "用户名");
comd.Parameters.AddWithValue("@user_password", "密码");
comd.ExecuteNonQuery();
}
catch (System.Exception e)
{
Debug.Log(e.Message);
}
finally
{
conn.Close();
}
}
运行结果:
三、问题处理
1.打包后无法连接数据库
- 首先确认所需的五个dll文件是否已经全部导入
- 在Unity中去修改Api Compatibility Level为.NET 4.x
路径:Project Setting->player->othersetting->Configuration->Api Compatibility Level
- 如果Unity版本是2018及以前的,还需要导入System.Data.dll和System.Drawing.dll两个文件;