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刪表小工具,能夠查詢所有表,並清空。

https://github.com/dlvguo/SimpleMysqlTool 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM