新建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;