为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

unity3d中连接数据库

2012-08-11 4页 doc 28KB 27阅读

用户头像

is_376101

暂无简介

举报
unity3d中连接数据库unity3d中连接数据库.txt38当乌云布满天空时,悲观的人看到的是“黑云压城城欲摧”,乐观的人看到的是“甲光向日金鳞开”。无论处在什么厄运中,只要保持乐观的心态,总能找到这样奇特的草莓。/* 在unity3d中连接数据库 收藏 1.C#代码: */ using UnityEngine; using System; using System.Collections; using System.Data; using MySql.Data.MySqlClient; public class CMySql :...
unity3d中连接数据库
unity3d中连接数据库.txt38当乌云布满天空时,悲观的人看到的是“黑云压城城欲摧”,乐观的人看到的是“甲光向日金鳞开”。无论处在什么厄运中,只要保持乐观的心态,总能找到这样奇特的草莓。/* 在unity3d中连接数据库 收藏 1.C#代码: */ 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 = "192.168.1.100"; static string id = "mysql";//这里是你自己的数据库的用户名字,我一开始想用root,发现不行,后来添加了新的用户才可以 static string pwd = "123456"; static string database = "test"; static string result = ""; private string strCommand = "Select * from unity3d_test ORDER BY id;"; 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); 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 } using UnityEngine; using System; using System.Collections; using System.Data; public class DataBaseTest : MonoBehaviour { public GUISkin myGUISkin = new GUISkin(); string strID = ""; string strName = ""; string strSex = ""; int Index = 1; // Use this for initialization void Start () { } void OnGUI() { GUI.skin = myGUISkin; if (GUI.Button(new Rect(100,320,100,100),"Click Me")) { foreach(DataRow dr in CMySql.MyObj.Tables[0].Rows) { if (Index.ToString() == dr["ID"].ToString()) { strID = dr["ID"].ToString(); strName = dr["Name"].ToString(); strSex = dr["Sex"].ToString(); break; } } Index++; if(Index > 5) { Index = 1; } } GUI.Label(new Rect(320,100,150,70),"DataBaseTest"); GUI.Label(new Rect(300,210,150,70),strID); GUI.Label(new Rect(300,320,150,70),strName); GUI.Label(new Rect(300,430,150,70),strSex); } } 2.導入dll 同先前的帖子 , 將MySql.data.dll Import至Assets底下 , 然後再到Unity\Editor\Data\Frameworks\Mono.framework 中 將System.Data.dll 也一起Import至Assets內 , 當然 , 如果想顯示中文的話 , 請參考中文視頻教學 , 建立一個GUISkin與字型 3.建立數據庫內容 主要是因為代碼中的這段內容 static string host = "192.168.1.100"; static string id = "mysql"; static string pwd = "123456"; static string database = "test"; private string strCommand = "Select * from unity3d_test ORDER BY id;"; 其中host ,id , pwd 請自行設定 , 簡單的說就是連進你的MySQL啦~ 然後建立一個名為test的Database , 在這個test下建立一張table , 取名為 unity3d_test , 接下來就為這張unity3d_test建立3個欄位 : ID , Name , Sex (記得將ID設定為primary key 且默認值為1) 再來自行填入5筆資料(5筆資料的原因是腳本那邊是設定成5筆資料一個循環 , 使用者可以自行更改腳本試試) 4.建立GameObject 建立完GameObject後將上面兩個腳本掛上去 , 如果有建立GUISkin , 記得指定GUISkin 5.執行 執行後先按Test按鈕來連接數據庫 , 然後再按"Click Me"來顯示數據庫內的內容
/
本文档为【unity3d中连接数据库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索