`
380071587
  • 浏览: 476689 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

unity3d中连接数据库 MySQL

 
阅读更多



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.dllImport至Assets底下,然後再到Unity\Editor\Data\Frameworks\Mono.framework中
將System.Data.dll也一起Import至Assets內,當然,如果想顯示中文的話,請參考中文視頻教學,建立一個GUISkin與字型
3.建立數據庫內容
主要是因為代碼中的這段內容
staticstringhost="192.168.1.100";
staticstringid="mysql";
staticstringpwd="123456";
staticstringdatabase="test";
privatestringstrCommand="Select*fromunity3d_testORDERBYid;";
其中host,id,pwd請自行設定,簡單的說就是連進你的MySQL啦~
然後建立一個名為test的Database,在這個test下建立一張table,取名為unity3d_test,
接下來就為這張unity3d_test建立3個欄位:ID,Name,Sex(記得將ID設定為primarykey且默認值為1)
再來自行填入5筆資料(5筆資料的原因是腳本那邊是設定成5筆資料一個循環,使用者可以自行更改腳本試試)
4.建立GameObject
建立完GameObject後將上面兩個腳本掛上去,如果有建立GUISkin,記得指定GUISkin
5.執行
執行後先按Test按鈕來連接數據庫,然後再按"ClickMe"來顯示數據庫內的內容







分享到:
评论

相关推荐

    Unity3D教程:两种方法连接MySql数据库2

    在Unity3D中,与MySQL数据库的交互是游戏开发中数据存储和检索的重要部分。本教程将介绍两种方法来连接Unity3D项目到MySQL数据库。 首先,我们来看第一种方法,使用MySQLDriverCS库。MySQLDriverCS是一个专门用于C#...

    unity3d中连接数据库

    在Unity3D中连接数据库是游戏开发中常见的一项任务,尤其是在需要实时数据交换或持久化存储的情况下。本文将深入解析如何在Unity3D环境中利用C#语言与MySQL数据库进行交互,包括连接、查询以及基本的数据操作。 ###...

    unity3d连接mysql数据库

    在Unity3D游戏开发中,有时需要与外部数据库进行交互,比如存储用户数据、游戏进度等,MySQL数据库因其开源、高效、稳定等特性,经常被选作后端数据存储的解决方案。本教程将详细介绍如何在Unity3D 4.0环境下连接到...

    unity3d连接数据库

    unity3d 连接数据库mysql 方便!!!!!!

    Unity3D教程:修改mysql字符编码成为UTF82

    在Unity3D开发中,有时候我们需要与MySQL数据库进行交互,处理数据存储和检索。然而,在实际操作中,可能会遇到字符编码的问题,导致中文字符显示为乱码。本教程将介绍如何解决Unity3D中与MySQL数据库连接时的字符...

    Unity实现连接MySQL数据库.rar_MYSQL_unity_unity 3d_unity 数据库

    在Unity中连接MySQL数据库是一项常见的需求,特别是在需要持久化存储游戏数据或实现网络功能时。MySQL是一种流行的开源关系型数据库管理系统,具有高性能、高可靠性和易用性。 要实现在Unity中连接MySQL数据库,...

    unity3D 与mysql数据库连接

    unity3D 与mysql数据库连接 环境配好后,导入即可

    Unity连接Mysql所需的全部dll文件

    然而,Unity本身并不直接内置对MySQL数据库的原生支持,因此需要借助第三方库来实现与MySQL的连接。本资源包提供了Unity连接MySQL所需的一系列DLL文件,这些文件允许你在Unity项目中执行SQL查询,存储和检索数据。 ...

    Unity连接MySQL数据库

    在Unity中连接MySQL数据库,可以实现在游戏或应用中动态获取和更新服务器上的数据,提升用户体验。 要实现Unity连接MySQL数据库,首先需要准备以下组件: 1. **MySQL Connector**: 这是Unity与MySQL通信的桥梁,它...

    unity连接mysql数据库unitypackage

    Unity3D是一款强大的跨平台游戏开发引擎,广泛用于制作2D、3D游戏以及互动式内容。在开发过程中,有时我们需要将游戏数据存储在数据库中,以便实现持久化存储、玩家进度跟踪等功能。MySQL是一种流行的开源关系型...

    Unity3D连接MySQL驱动包

    这个“Unity3D连接MySQL驱动包”提供了必要的组件和工具,使得开发者能够在Unity3D环境中与MySQL数据库进行无缝对接。 首先,我们要了解Unity3D中连接MySQL的基本步骤。通常,这涉及到以下几个关键知识点: 1. **...

    unity3d数据库链接

    本节将详细介绍如何使用Unity3D中的C#脚本来连接MySQL数据库。 ##### 1. 准备工作 - **安装MySQL Connector**: 要在Unity中使用MySQL数据库,首先需要安装`MySql.Data`库。这可以通过NuGet包管理器完成。 - **配置...

    Unity3D链接MySQL方法(三)2

    在Unity3D中与MySQL数据库交互是开发游戏或应用程序时常用的一种技术,特别是在需要存储用户数据、游戏进度或实现在线功能时。本文将详细讲解如何在Unity3D中链接MySQL数据库,以及解决发布为Web应用时遇到的跨域...

    Unity连接数据库MySQL[定义].pdf

    本教程将详细介绍如何在 Unity3d 中使用 C# 脚本来连接 MySQL 数据库。 1. **环境配置**: 在开始之前,确保你的开发环境已经安装了以下组件: - 操作系统:Win7 64 位(或其他支持 Unity 的操作系统) - Unity ...

    unity连接mysql数据库demo源码

    在上面的代码中,`connectionString`变量包含了连接数据库所需的参数,如服务器地址、数据库名、用户名和密码。`ConnectToDatabase`方法尝试建立并关闭连接,同时处理可能的异常。 一旦连接建立,你可以执行SQL查询...

    unity与php链接mysql数据库实现增删该查

    unity与php链接mysql数据库实现增删改查,以及用户登陆注册,简单实用

    Unity-with-MYSQL-master_database_unity3d_MYSQL_TheMaster_

    标题“Unity-with-MYSQL-master_database_unity3d_MYSQL_TheMaster_”表明这是一个关于在Unity游戏引擎中集成MySQL数据库的项目。这个项目可能包含了详细的过程、代码示例以及如何在Unity环境中操作MySQL数据库的...

Global site tag (gtag.js) - Google Analytics