unity3d连接mysql

这个是根据前面别人的例子改了一下的,呵呵~~~

注:这里面的System.Data.dll 是Unity\Editor\Data\Mono\lib\mono\2.0\System.Data.dll;但是MySql.data.dll的版本我也不知道怎么来判断,我本来用的是1.0.6.15336这个版本的,但是一直报错“MySqlException: Character set 'gbk' is not supported”,报这个错误一般都是MySql.data.dll的版本太低了,后来我改成5.0的了,结果就ok了。反正我传到我的资源里面了,不行的话你们一个个试。

数据库创建如下:

set feedback off; drop database db; create database db; USE DB; drop table s; create table s( sno Int(10) not null primary key, name varchar(10), sex varchar(10) ); insert into s values('001','杨纯','男'); insert into s values('002','yaya','女'); insert into s values('003','dlnuchunge','男'); select * from s;

unity3d里面的代码如下:

using UnityEngine; using System; using System.Collections; using System.Data; using MySql.Data.MySqlClient; public class CMySql : MonoBehaviour { // Global variables public static MySqlConnection dbConnection;//Just like MyConn.conn in StoryTools before static string host = "localhost"; static string id = "root"; static string pwd = "mysql"; static string database = "db"; static string result = ""; private string strCommand = "Select sno from s ;"; public static DataSet MyObj; void OnGUI() { host = GUILayout.TextField( host, 200, GUILayout.Width(200)); id = GUILayout.TextField( id, 200, GUILayout.Width(200)); pwd = GUILayout.TextField( pwd, 200, GUILayout.Width(200)); if(GUILayout.Button("Test")) { string connectionString = string.Format("Server = {0}; Database = {1}; User ID = {2}; Password = {3};",host,database,id,pwd); openSqlConnection(connectionString); MySqlCommand mySqlCommand = new MySqlCommand("Select * from s;", dbConnection); MySqlDataReader reader = mySqlCommand.ExecuteReader(); try { while (reader.Read()) { if (reader.HasRows) { print("编号:" + reader.GetInt32(0)+"|姓名:"+reader.GetString(1)+"|性别:"+reader.GetString(2)); } } } catch (Exception) { Console.WriteLine("查询失败了!"); } finally { reader.Close(); } MyObj = GetDataSet(strCommand); } GUILayout.Label(result); } // On quit public static void OnApplicationQuit() { closeSqlConnection(); } // Connect to database private static void openSqlConnection(string connectionString) { dbConnection = new MySqlConnection(connectionString); dbConnection.Open(); result = dbConnection.ServerVersion; //Debug.Log("Connected to database."+result); } // Disconnect from database private static void closeSqlConnection() { dbConnection.Close(); dbConnection = null; //Debug.Log("Disconnected from database."+result); } // MySQL Query public static void doQuery(string sqlQuery) { IDbCommand dbCommand = dbConnection.CreateCommand(); dbCommand.CommandText = sqlQuery; IDataReader reader = dbCommand.ExecuteReader(); reader.Close(); reader = null; dbCommand.Dispose(); dbCommand = null; } #region Get DataSet public DataSet GetDataSet(string sqlString) { //string sql = UnicodeAndANSI.UnicodeAndANSI.UnicodeToUtf8(sqlString); DataSet ds = new DataSet(); try { MySqlDataAdapter da = new MySqlDataAdapter(sqlString, dbConnection); da.Fill(ds); } catch (Exception ee) { throw new Exception("SQL:" + sqlString + "\n" + ee.Message.ToString()); } return ds; } #endregion }

结果如下:



呵呵,大家试试吧~~~~


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值