Unity_MySQL
在unity中使用mysql需要引用mysql的dll文件
还有一些dll文件在打包出手机端时需要用到
大致总结一些 可能会用到的一些dll文件
需要引用的DLL文件:
/// Mysql.Data.dll
/// 在unity中需要:打开Unity的安装目录,\%安装根目录%\Editor\Data\Mono\lib\mono\2.0\中,将System.Data.dll和System.Drawing.dll拷贝到Unity工程目录下Assets文件中。
/// l18n.cjk.dll
/// l18n.dll
/// system.data.dll
/// system.drawing.dll
对数据库进行操作必须需要牢记:打开数据库执行一次操作之后一定要关闭数据库,再使用时再打开。也就是说数据库的一次开关只能执行一次命令
在代码中直接写sql语句会有很大的可能性出现语法错误,个人建议先在dos窗口中先写,确保没错在粘贴到代码中,mysql对语法 的要求比较严格,
对数据库最频繁的操作无非就是增删改查,具体实现看示例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
using System.Data;
/// <summary>
/// 需要引用的DLL文件:
/// Mysql.Data.dll
/// 在unity中需要:
/// l18n.cjk.dll
/// l18n.dll
/// system.data.dll
/// system.drawing.dll
/// </summary>
namespace 数据库操作
{
class Program
{
//远程连接
// string connectionString= "User ID = ; Password =.; Host =; Port =3306;Database = ;Charset = ";
//本地连接
public static string connectionString= "User ID = ; Password = ; Host = ; Port = 3306;Database = ;Charset = ";
public static MySqlConnection dbConnection;
static void Main(string[] args)
{
}
//打开数据库链接
static void OpenSqlConnection(string connectionString)
{
dbConnection = new MySqlConnection(connectionString);
dbConnection.Open();
}
//关闭数据库连接
static void CloseConnection()
{
if (dbConnection != null)
{
dbConnection.Close();
dbConnection.Dispose();
dbConnection = null;
}
}
//保存数据
public static DataSet GetDataSet(string sqlString)
{
DataSet ds = new DataSet();
try
{
//用于检索和保存数据
//Fill(填充)能改变DataSet中的数据以便于数据源中数据匹配
//Update(更新)能改变数据源中的数据以便于DataSet中的数据匹配
MySqlDataAdapter da = new MySqlDataAdapter(sqlString, dbConnection);
da.Fill(ds);
}
catch (Exception ee)
{
throw new Exception("SQL:" + sqlString + "\n" + ee.Message.ToString());
}
return ds;
}
//增 insert
static void Add()
{
OpenSqlConnection(connectionString);
string sqlstring= "insert into userinformation(name,password,tel) values();";//保证sql语句的正确性
GetDataSet(sqlstring);
CloseConnection();
}
//删 delete
static void Delete()
{
OpenSqlConnection(connectionString);
string sqlstring = "delete from 表名;";
GetDataSet(sqlstring);
CloseConnection();
}
//改 update
static void Update()
{
OpenSqlConnection(connectionString);
string sqlstring = "update 表名 set 字段=值 where 条件;";
GetDataSet(sqlstring);
CloseConnection();
}
//查 select
static void Select()
{
OpenSqlConnection(connectionString);
MySqlCommand mysqlcommand = new MySqlCommand("select * from 表名;", dbConnection);
MySqlDataReader reader = mysqlcommand.ExecuteReader();
try
{
while (reader.Read())
{
if (reader.HasRows)
{
//reader.getstring(0)/getint(0).....
}
}
}
catch (Exception)
{
Console.WriteLine("failed to select");
}
finally
{
reader.Close();
}
CloseConnection();
}
}
}