在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 + "\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(); } } }
基本上就是這樣,如有問題請自己調試
最后在強調,數據庫打開之后,執行完命令一定要關閉
