本人刚刚开始学习这方面知识,只是当做课堂笔记记录,分享给大家,如有错误还请大家多多指教。谢谢
在unity中新建文件夹Plugins,找到unity安装目录中的System.Data.dll文件,放入文件夹中。再将mysql.data.dll文件放入文件夹中
新建脚本UnityMySql(建一个空物体挂上脚本)
using MySql.Data.MySqlClient;
using System.Data;
using System.Collection;
using System.Collection.Generic;
using UnityEngine;
public class UnityMySql : MonoBehaviour
{
private string dataname = "unity"; //数据库名称
private string ipAddress = "127.0.0.1"; //数据库IP
private string root = "root"; //用户名
private string password = "123456"; //数据库密码
MySqlConnection mySqlConnection; //要连接的数据库对象
private string connectionStr = ""; //连接的字符串
public string cmdText1 = "select * from account"; //查询语句
public string cmdText2 = "Insert into account value('你好','789','男',20,'nihao@163.com');"; //查询语句。添加信息。注意value括号后必须有分号
void Start()
{
connectionStr = string.Format("Server={0};Database={1};User ID={2};Password={3}",ipAddress,dataname,root,password);
mySqlConnection = new MySqlConnection(connectionStr); //创建数据库对象
}
void OnGUI()
{
if (GUILayout.Button("openMySql"))//建一个按钮,打开数据库
{
if (mySqlConnection != null)//如果数据库对象不是空
{
mySqlConnection.Open();//打开数据库
}
}
if (GUILayout.Button("SelectTable"))//建一个按钮,查询数据库
{
MySqlCommand command = new MySqlCommand(cmdText1, mySqlConnection);//执行命令MySqlCommand
if (command != null)
{
//查询数据库内容,但不影响内容(不修改)
MySqlDataReader reader = command.ExecuteReader();
if (reader.HasRows) //是否检测到行(有行存在)
{
while(reader.Read())//读取行内的信息,读取到为true,直到没有行为止
{
string TempStr = "";//用来存内容
TempStr += reader["用户名"];//reader["用户名"]表示查询表格中的用户名一栏
print(TempStr);
}
}
//读取数据库内容,并修改
//command.ExecuteNonQuery();
//查询数据库内容,但不影响内容(不修改)
//command.ExecuteReader();
}
}
if (GUILayout.Button("InsertText"))//建一个按钮,向数据库添加信息
{
MySqlCommand command = new MySqlCommand(cmdText2, mySqlConnection);//执行cmdText2的命令
if (command != null)
{
command.ExecuteNonQuery();//添加信息
}
}
}
}