近期热门
粉丝5
关注 0
获赞 0
UNITY3D 数据库连接C#

[U3D] UNITY3D 数据库连接C#

[复制链接]
2155 3 0 1 9年前 举报
刚在蛮牛上看到涉及到服务器这块,特意的去网上找了一些资料和自己的一些认知,分享给大家
  不多废话,直接上代码:
  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. //自己的主机地址
  10.      static string host = "192.168.1.100";
  11.      static string id = "mysql";//这里是你自己的数据库的用户名字,我一开始想用root,发现不行,后来添加了新的用户才可以
  12. //数据库密码
  13.      static string pwd = "123456";
  14. //数据库名称
  15.      static string database = "test";
  16. //定义一个空字符串
  17.      static string result = "";
  18. //数据库查询语句
  19. private string strCommand = "Select * from unity3d_test ORDER BY id;";
  20. //dataset这个是MySql.Data.MySqlClient.dll库中自带的类型
  21. public static DataSet MyObj;

  22.      void OnGUI()
  23.      {
  24.          host = GUILayout.TextField( host, 200, GUILayout.Width(200));
  25.          id = GUILayout.TextField( id, 200, GUILayout.Width(200));
  26.          pwd = GUILayout.TextField( pwd, 200, GUILayout.Width(200));
  27.          if(GUILayout.Button("Test"))
  28.          {
  29.     string connectionString = string.Format("Server = {0}; Database = {1}; User ID = {2}; Password = {3};",host,database,id,pwd);
  30.     openSqlConnection(connectionString);
  31.     MyObj = GetDataSet(strCommand);
  32.          }
  33.          GUILayout.Label(result);
  34.      }  
  35.     // On quit
  36.     public static void OnApplicationQuit() {
  37.         closeSqlConnection();
  38.     }
  39.     // Connect to database
  40.     private static void openSqlConnection(string connectionString) {
  41.         dbConnection = new MySqlConnection(connectionString);
  42.         dbConnection.Open();
  43.         result = dbConnection.ServerVersion;
  44.         //Debug.Log("Connected to database."+result);
  45.     }
  46.     // Disconnect from database
  47.     private static void closeSqlConnection() {
  48.         dbConnection.Close();
  49.         dbConnection = null;
  50.         //Debug.Log("Disconnected from database."+result);
  51.     }
  52.     // MySQL Query
  53.     public static void doQuery(string sqlQuery) {
  54.         IDbCommand dbCommand = dbConnection.CreateCommand();   
  55.         dbCommand.CommandText = sqlQuery;
  56.         IDataReader reader = dbCommand.ExecuteReader();
  57.         reader.Close();
  58.         reader = null;
  59.         dbCommand.Dispose();
  60.         dbCommand = null;
  61.     }
  62.     #region Get DataSet
  63.     public  DataSet GetDataSet(string sqlString)
  64.     {
  65.         //string sql = UnicodeAndANSI.UnicodeAndANSI.UnicodeToUtf8(sqlString);
  66.   DataSet ds = new DataSet();
  67.         try
  68.         {
  69.             MySqlDataAdapter da = new MySqlDataAdapter(sqlString, dbConnection);
  70.             da.Fill(ds);
  71.         }
  72.         catch (Exception ee)
  73.         {
  74.             throw new Exception("SQL:" + sqlString + "/n" + ee.Message.ToString());
  75.         }
  76.         return ds;
  77.     }
  78.     #endregion
  79. }
复制代码

0
点赞
0
打赏
1
添加到收藏夹

0

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论3
您需要登录后才可以回帖 登录

好资源,底子薄还需要消化一下
6年前
回复

使用道具 举报

感謝分享這麼好的資源!
8年前
回复

使用道具 举报

有什么用吗?
9年前
回复

使用道具 举报

您当前使用的浏览器IE内核版本过低会导致网站显示错误

请使用高速内核浏览器或其他浏览器