1.Navicat准备 test 数据库,并在test数据库下创建 user 数据表,预先插入测试数据。
2.启动 Unity Hub 新建一个项目,然后在Unity编辑器的 Project视图 中,右击新建一个 Plugins 文件夹将连接 MySQL的驱动包 导入(附加驱动包链接),之后Unity会自动引用它们。
3.在 Hierarchy视图 中点击 Main Camera 对象,然后在右边的 Inspector视图 中点击 Add Component,添加脚本组件,名称如下。
4.AccessMySQL脚本组件连接数据库和执行SQL语句代码如下
...//your code
//MySQL 连接对象
public static MySqlConnection dbConnection;
//连接或关闭 MySQL数据库
public void ConnectMySQL(string connectionStr,bool isOpen){
if(isOpen){
try{
dbConnection = new MySqlConnection(connectionStr);
dbConnection.Open();
Debug.Log("连接MySQL数据库成功");
}catch(System.Exception e){
throw new System.Exception("连接MySQL数据库失败:"+e.Message.ToString());
}
}else{
if(dbConnection != null){
dbConnection.Close();
dbConnection.Dispose();
dbConnection = null;
}
}
}
//SQL语句执行方法
public DataSet ExecuteQuery(string sqlStr,MySqlConnection ConnectionDB){
if(dbConnection.State == ConnectionState.Open){
//表的集合
DataSet dataSet = new DataSet();
try{
MySqlDataAdapter data = new MySqlDataAdapter(sqlStr,ConnectionDB);
data.Fill(dataSet);
}catch(System.Exception e){
throw new System.Exception("SQL:"+sqlStr+"/n"+e.Message.ToString());
}
return dataSet;
}
return null;
}
// Start is called before the first frame update
void Start()
{
string connectionStr = "Server = 127.0.0.1;port=3306;DataBase=test;UID=root;Pwd=1008";
ConnectMySQL(connectionStr,true);
string sqlQuery = "select * from user";
DataSet ds = ExecuteQuery(sqlQuery,dbConnection);
// Debug.Log("检索到:"+ds.Tables[0].Rows.Count+" 条数据");
for(int i = 0;i<ds.Tables[0].Rows.Count;i++){
Debug.Log("姓名:"+ ds.Tables[0].Rows[i]["name"] + " 年龄:"+ds.Tables[0].Rows[i]["age"]);
}
}
...//your code
5.Unity编辑器的控制台显示执行效果,代码正常,运行成功!!!