Unity3D 连接MySQL数据库笔记4-Unity3d代码

新建Unity3D项目

新建一个 Plugins文件夹

把所需要的DLL放到 Plugins中

新建C#脚本 命名为ToMysql.cs

 

不多说了 ,直接上代码,很简单  有注释 ,大家一看就明白了

 

using UnityEngine;
using System;
using System.Collections;
using System.Data;
using MySql.Data.MySqlClient;


public class ToMysql : MonoBehaviour {
	
	
 
     public static MySqlConnection dbConnection; /*mysql数据库连接对象*/
     static string host = "";  
     static string id = "";  
     static string pwd = "";  
     static string database = "";
     static string result = "";  
      
     private string strCommand ;  
     public static DataSet MyObj;  
	
	public string connectionString;
	
	public Vector2 pPos;
	public Vector2 pSize;
	
	public DataTable pdatatable;
	
	public DataSet   pDataset;
	
	
	public Vector2 conPos;
	public Vector2 conSize;
	 void Awake()
	{
		
		 host = "127.0.0.1";  /*mysql数据库服务器地址*/
      id = "root";  /*mysql用户名*/
      pwd = "123456";  /*密码*/
      database = "test";/*数据库名*/  
      result = "";  /*mysql版本号信息暂存*/
      
     strCommand = "Select uname from tuser"; 
		
	 /*一些UI按钮的坐标配置信息11*/
	  pPos = new Vector2( 50,50 );
	  pSize = new Vector2(100,35);	
		
		 /*一些UI按钮的坐标配置信息22*/
	  conPos = new Vector2( 300,60 );
	  conSize = new Vector2( 150, 50 );
		
		 /*初始给一个新增员工信息的时候的默认文本框内默认值*/
		 pkey = "100291";
		 name = "姓名";
       sex = "男";
	  age = "25";
	  adress = "家庭详细住址";
	  money = "2800";
	}
	
	
     void OnGUI()  
     {  
		   /*第一次连接到MySQL数据库*/
		   ConnectFirstServer();
		   /*显示连接到的MySQL数据库的版本号信息*/
           GUILayout.Label(result);  
		
		/*主要大列表显示员工信息的修改删除function*/
		   ShowP_GUIData();
		
		
		   /*添加员工信息*/
			AddPerson();
		
		   /*点了修改编辑信息后*/
		  ShowEdit_PersonData();
       }  
  
    /*关闭Unity程序*/
    public static void OnApplicationQuit() 
    {  
        closeSqlConnection();  
    }  
  
	/*第一次连接到MySQL数据库*/
	public void ConnectFirstServer()
	{
		if( dbConnection == null )
		{
		
		  GUI.Button( new Rect(conPos.x ,conPos.y,conSize.x,conSize.y),"数据库Server地址");
		   host = GUI.TextField(new Rect(conPos.x ,conPos.y+50,conSize.x,conSize.y),host );
       
	      	GUI.Button( new Rect(conPos.x ,conPos.y+100,conSize.x,conSize.y),"mysql用户名");
		   id = GUI.TextField(new Rect(conPos.x ,conPos.y+150,conSize.x,conSize.y),id );
          GUI.Button( new Rect(conPos.x ,conPos.y+200,conSize.x,conSize.y),"密码");
           pwd = GUI.TextField(new Rect(conPos.x ,conPos.y+250,conSize.x,conSize.y),pwd );
		
		   GUI.Button( new Rect(conPos.x ,conPos.y+300,conSize.x,conSize.y),"数据库名");
            database = GUI.TextField(new Rect(conPos.x ,conPos.y+350,conSize.x,conSize.y),database );
		
		     connectionString = string.Format("Server = {0};Database = {1}; User = {2}; Password = {3};",host,database,id,pwd);  
         if(GUI.Button(new Rect(conPos.x+180 ,conPos.y+200,conSize.x,conSize.y),"登录数据库"))  
         {  
            openSqlConnection(connectionString);    
            MyObj = GetDataSet(strCommand);

            /*读取数据函数Debug 管理员账号密码*/
            ReaderData();
			/*测试方法Debug 管理员账号密码*/
			ShowDataSet();
			
			/*重新读取p_info表里所有员工信息*/
			SelectPdataSet();
          }   
			
			
			
		}
		
		
		
	}
	
    // Connect to database  
    private static void openSqlConnection(string connectionString) 
    {  
        dbConnection = new MySqlConnection(connectionString);  
		try{
        dbConnection.Open();  
        result = dbConnection.ServerVersion;  /*获得MySql的版本*/
		}
		catch(MySqlException e)
		{
			Debug.Log( e.Message );
			dbConnection = null;
			host  = "服务器连接错";
			id  = "用户名或密码错误";
			pwd = "用户名或密码错误";
		}
		Debug.Log(result);
    }  
     
   /*关闭Mysql连接*/
    private static void closeSqlConnection() 
    {  
        dbConnection.Close();  
        dbConnection = null;  
    }  
      
    /*执行某些mysql语句*/
    public static void doQuery(string sqlQuery) 
    {  
        IDbCommand dbCommand = dbConnection.CreateCommand();      
        dbCommand.CommandText = sqlQuery;  
 
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要在Unity3D连接MySQL数据库,首先需要下载并安装MySQL连接器驱动包。 1. 打开Unity3D开发环境,创建一个新的项目。 2. 在浏览器中搜索并下载MySQL连接器驱动包。这个驱动包是一个DLL文件,将会用于在Unity连接和操作MySQL数据库。 3. 在Unity项目的Assets目录下,创建一个新的文件夹,例如"Plugins"。 4. 将下载的MySQL连接器驱动包(DLL文件)复制到刚刚创建的"Plugins"文件夹中。 5. 在Unity编辑器中,选择"Assets" > "Reimport All"以确保Unity将驱动包加载到项目中。 6. 确保已安装MySQL数据库,并记住数据库连接信息,例如主机名、端口号、用户名和密码。 7. 在Unity中创建一个C#脚本,用于连接和操作MySQL数据库。 8. 在脚本中引入连接器驱动包的命名空间。 9. 在脚本中编写连接和操作数据库代码。首先创建一个MySQL连接对象,然后使用连接对象的方法执行SQL查询或更新语句。 10. 将脚本附加到Unity场景的对象上,或在代码中实例化脚本对象来执行数据库操作。 11. 运行Unity项目,即可连接和操作MySQL数据库。 值得注意的是,使用第三方数据库连接器驱动包需要注意其兼容性和安全性。请确保所使用的MySQL连接器驱动包是来自可信的来源,并与您的Unity版本和MySQL数据库版本兼容。 ### 回答2: 连接Unity3DMySQL数据库需要使用一个适当的MySQL驱动包。这个驱动包允许Unity3DMySQL服务器进行通信,并执行数据库操作。 首先,我们需要下载适用于Unity3DMySQL驱动包。你可以通过在网上搜索"Unity3D MySQL驱动包"来找到相应的下载链接。确保下载适用于你所使用的Unity版本的驱动包。 下载完驱动包后,打开Unity3D项目。在Unity的项目资源窗口中,将驱动包拖动到Assets文件夹下。 接下来,需要在Unity的编辑器中设置连接MySQL数据库的相关信息。在Unity中,点击上方菜单栏中的"Edit",然后选择"Project Settings"。在Project Settings窗口中,找到左侧的"Player"选项。 在Player选项中,展开"Other Settings"并找到"Scripting Define Symbols"。在这个字段中,添加以下代码MYSQL_PRESENT 保存设置后,Unity会重新编译项目,并将MySQL驱动包编译到项目中。 现在,你可以在脚本中建立与MySQL数据库连接。你需要使用Unity提供的相关命名空间(namespace)来引用MySQL相关的类和方法。通过使用正确的连接字符串、用户名和密码,你可以实现与MySQL数据库连接。 在连接过程中,你可以编写适当的代码来执行数据库查询、插入、更新和删除等操作。确保你使用适当的错误处理来处理连接问题或数据库操作过程中的任何错误。 这是连接Unity3DMySQL的基本步骤。通过正确配置MySQL驱动包并实现正确的连接代码,你可以在Unity3D项目中成功连接和操作MySQL数据库。 ### 回答3: Unity3D连接MySQL需要使用MySQL Connector/Net驱动包。以下是通过Unity3D连接MySQL的步骤: 1. 下载MySQL Connector/Net驱动包:在MySQL官方网站上下载安装最新版的MySQL Connector/Net驱动包(也称为MySQL Connector/Net或MySQL Connector)。 2. 导入驱动包:将下载的驱动包解压,并将其中的Dll文件拷贝到Unity3D项目的Assets文件夹下或任意你想要的位置。 3. 在Unity3D中创建C#脚本:创建一个C#脚本,用于连接和操作MySQL数据库。在脚本中引入MySQL Connector/Net的命名空间。 4. 连接数据库:在脚本中使用MySQL Connector/Net提供的方法来创建一个MySQL连接对象,并通过该对象连接MySQL数据库。 5. 执行SQL查询:通过MySQL连接对象,使用SQL语句来执行查询操作(例如SELECT语句)或更新操作(例如INSERT、UPDATE或DELETE语句)。 6. 处理查询结果:根据需要,可以将查询结果存储在Unity3D中的变量中,并对其进行进一步处理。 7. 断开连接:在完成数据库操作后,记得关闭MySQL连接,以释放资源。 需要注意的是,连接MySQL数据库时需要提供正确的连接字符串、用户名和密码。此外,要确保MySQL数据库已正确设置,并具有允许远程连接的权限。 总结: 通过下载和导入MySQL Connector/Net驱动包,可以在Unity3D中通过C#脚本连接MySQL数据库连接操作包括创建连接对象、执行SQL查询和处理结果。在完成数据库操作后,要记得关闭连接
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值