Unity3D 连接MySql
MySql安装如下:
https://www.cnblogs.com/dlvguo/p/9671832.html
Unity连接MySql首先要在Unity的安装目录D:\Unity2017\Editor\Data\Mono\lib\mono\2.0引用4个dll文件:
I18N.CJK.dll、I18N.dll、I18N.West.dll、System.data.dll
同时去Mysql官网下载Mysql.data.dll 注意下载的dll要跟unity .net版本一直 一般用3.5。
发布的时候在PlayerSetting要设置Api Compatibility Level为.net 2.0不能使用简版的.net 2.0 Subset否则导致发布失败。
在Unity目录下添加Plugins文件夹,将dll放进去 unity将会自动引用。
这边做一个查询连接表的Test,写SqlHelper:
1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 using MySql.Data; 5 using MySql.Data.MySqlClient; 6 using System; 7 public class SqlHelper { 8 private static SqlHelper _instance = new SqlHelper(); 9 private static string connStr="Database=Lwcc;Data Source = 172.22.224.87; User Id = root; Password=123456;port=3306"; 10 private string ip; 11 private string acc; 12 private string psd; 13 private string db; 14 public static SqlHelper Insatance { get 15 { 16 return _instance; 17 } } 18 /// <summary> 19 /// 获取连接 20 /// </summary> 21 /// <returns></returns> 22 private MySqlConnection GetSqlConn() 23 { 24 MySqlConnection sqlConn = null; 25 sqlConn = new MySqlConnection(connStr); 26 return sqlConn; 27 } 28 /// <summary> 29 /// 获取所有表名 30 /// </summary> 31 /// <returns></returns> 32 public IEnumerable<string> GetTables() 33 { 34 string sql = string.Format(@"select table_name from information_schema.tables where table_schema='{0}' and table_type='base table'", db); 35 //string sql = @"select table_name from information_schema.tables where table_schema='lwcc' and table_type='base table'"; 36 List<string> strs = new List<string>(); 37 var conn = GetSqlConn(); 38 conn.Open(); 39 MySqlCommand cmd = new MySqlCommand(sql, conn); 40 MySqlDataReader reader = cmd.ExecuteReader(); 41 while (reader.Read()) 42 { 43 strs.Add(reader[0].ToString()); 44 } 45 conn.Close(); 46 return strs; 47 } 48 /// <summary> 49 /// 设置连接Str 50 /// </summary> 51 /// <param name="ip"></param> 52 /// <param name="acc"></param> 53 /// <param name="psd"></param> 54 /// <param name="db"></param> 55 public void SetConnStr(string ip,string acc,string psd,string db) 56 { 57 this.ip = ip; 58 this.acc = acc; 59 this.psd = psd; 60 this.db = db; 61 connStr = string.Format("DataBase={0};Data Source= {1};User Id = {2};Password={3};port=3306;", db, ip, acc, psd); 62 } 63 public void ClearTables(IEnumerable<string> tbs) 64 { 65 string cmdText = ""; 66 foreach(var item in tbs) 67 { 68 cmdText += string.Format("truncate table {0};", item); 69 } 70 var conn = GetSqlConn(); 71 conn.Open(); 72 MySqlCommand cmd = new MySqlCommand(cmdText,conn); 73 cmd.ExecuteNonQuery(); 74 conn.Close(); 75 } 76 }
附上源码,这是我用Unity制作的一个Mysql删表小工具,能够查询所有表,并清空。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通