在unity中使用mysql需要引用mysql的dll文件
还有一些dll文件在打包出手机端时需要用到
大致总结一些 可能会用到的一些dll文件
需要引用的DLL文件:
/// Mysql.Data.dll
/// 在unity中需要:
/// 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 + " " + 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(); } } }
基本上就是这样,如有问题请自己调试
最后在强调,数据库打开之后,执行完命令一定要关闭