unity连接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了。反正我传到我的资源里面了,不行的话你们一个个试。

数据库创建如下:    

[java]  view plain copy print ?
  1. set feedback off;  
  2. drop database db;  
  3. create database db;  
  4. USE DB;  
  5. drop table s;  
  6. create table s(  
  7.     sno Int(10) not null primary key,  
  8.     name varchar(10),  
  9.     sex varchar(10)  
  10.   );  
  11. insert into s values('001','杨纯','男');  
  12. insert into s values('002','yaya','女');  
  13. insert into s values('003','dlnuchunge','男');  
  14. select * from s;  


unity3d里面的代码如下:

[java]  view plain copy print ?
  1. using UnityEngine;  
  2. using System;  
  3. using System.Collections;  
  4. using System.Data;  
  5. using MySql.Data.MySqlClient;  
  6. public class CMySql : MonoBehaviour {  
  7.     // Global variables  
  8.     public static MySqlConnection dbConnection;//Just like MyConn.conn in StoryTools before  
  9.      static string host = "localhost";  
  10.      static string id = "root";  
  11.      static string pwd = "mysql";  
  12.      static string database = "db";  
  13.      static string result = "";  
  14.       
  15. private string strCommand = "Select sno from s ;";  
  16. public static DataSet MyObj;  
  17.      void OnGUI()  
  18.      {  
  19.          host = GUILayout.TextField( host, 200, GUILayout.Width(200));  
  20.          id = GUILayout.TextField( id, 200, GUILayout.Width(200));  
  21.          pwd = GUILayout.TextField( pwd, 200, GUILayout.Width(200));  
  22.          if(GUILayout.Button("Test"))  
  23.          {  
  24.     string connectionString = string.Format("Server = {0}; Database = {1}; User ID = {2}; Password = {3};",host,database,id,pwd);  
  25.     openSqlConnection(connectionString);  
  26.               
  27.      MySqlCommand mySqlCommand = new MySqlCommand("Select * from s;", dbConnection);  
  28.      MySqlDataReader reader = mySqlCommand.ExecuteReader();  
  29.         try  
  30.         {  
  31.             while (reader.Read())  
  32.             {  
  33.                 if (reader.HasRows)  
  34.                 {  
  35.                     print("编号:" + reader.GetInt32(0)+"|姓名:"+reader.GetString(1)+"|性别:"+reader.GetString(2));  
  36.                 }  
  37.             }  
  38.         }  
  39.         catch (Exception)  
  40.         {  
  41.             Console.WriteLine("查询失败了!");  
  42.         }  
  43.         finally  
  44.         {  
  45.             reader.Close();  
  46.         }         
  47.               
  48.     MyObj = GetDataSet(strCommand);  
  49.          }   
  50.          GUILayout.Label(result);  
  51.      }    
  52.     // On quit  
  53.     public static void OnApplicationQuit() {  
  54.         closeSqlConnection();  
  55.     }  
  56.      
  57.     // Connect to database  
  58.     private static void openSqlConnection(string connectionString) {  
  59.         dbConnection = new MySqlConnection(connectionString);  
  60.         dbConnection.Open();  
  61.         result = dbConnection.ServerVersion;  
  62.         //Debug.Log("Connected to database."+result);  
  63.     }  
  64.      
  65.     // Disconnect from database  
  66.     private static void closeSqlConnection() {  
  67.         dbConnection.Close();  
  68.         dbConnection = null;  
  69.         //Debug.Log("Disconnected from database."+result);  
  70.     }  
  71.       
  72.     // MySQL Query  
  73.     public static void doQuery(string sqlQuery) {  
  74.         IDbCommand dbCommand = dbConnection.CreateCommand();      
  75.         dbCommand.CommandText = sqlQuery;  
  76.         IDataReader reader = dbCommand.ExecuteReader();  
  77.         reader.Close();  
  78.         reader = null;  
  79.         dbCommand.Dispose();  
  80.         dbCommand = null;  
  81.     }  
  82.     #region Get DataSet  
  83.     public  DataSet GetDataSet(string sqlString)  
  84.     {  
  85.         //string sql = UnicodeAndANSI.UnicodeAndANSI.UnicodeToUtf8(sqlString);  
  86.     
  87.     
  88.        DataSet ds = new DataSet();  
  89.         try  
  90.         {  
  91.             MySqlDataAdapter da = new MySqlDataAdapter(sqlString, dbConnection);  
  92.             da.Fill(ds);  
  93.      
  94.         }  
  95.         catch (Exception ee)  
  96.         {  
  97.      
  98.             throw new Exception("SQL:" + sqlString + "\n" + ee.Message.ToString());  
  99.         }  
  100.         return ds;  
  101.     
  102.     }  
  103.     #endregion   
  104. }  

结果如下:



呵呵,大家试试吧~~~~转自  http://blog.csdn.net/nateyang/article/details/7687191

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值