查看: 1201|回复: 2
打印 上一主题 下一主题

连接MySQL数据库测试通过,获取数据成功_教程+测试

[复制链接]

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-6-29 14:13:06 |只看该作者 |倒序浏览



    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";//Mysql1001.webweb.com

     
            static string port_="";//4306

     
         static string id = "root";//98ceef_dx15_1

     
         static string pwd = "mysql!";//yusiyuanlove

     
         static string database = "test";//db_98ceef_dx15_1

     
         static string result = "";

     
        

     
    private string strCommand = "SELECT * FROM test1";//mac_uc_members

     
    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 = {2}; User ID = {3}; Password = {4};",host,port_,database,id,pwd);//Port={1};

     
                            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 + "
" + 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["age"].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);

     
              

     
            }

     
    }


复制代码
这是连接本地数据库的代码。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-12-30 04:15:19 |只看该作者
学习了,虽然还是有难度,谢谢楼主的用心
回复

使用道具 举报

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-12-31 00:39:42 |只看该作者
谢谢楼主的帖子分享,学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-27 16:52 , Processed in 0.116860 second(s), 30 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部