本人剛剛開始學習這方面知識,只是當做課堂筆記記錄,分享給大家,如有錯誤還請大家多多指教。謝謝
在unity中新建文件夾Plugins,找到unity安裝目錄中的System.Data.dll文件,放入文件夾中。再將mysql.data.dll文件放入文件夾中
新建腳本UnityMySql(建一個空物體掛上腳本)
using MySql.Data.MySqlClient;
using System.Data;
using System.Collection;
using System.Collection.Generic;
using UnityEngine;
public class UnityMySql : MonoBehaviour
{
private string dataname = "unity"; //數據庫名稱
private string ipAddress = "127.0.0.1"; //數據庫IP
private string root = "root"; //用戶名
private string password = "123456"; //數據庫密碼
MySqlConnection mySqlConnection; //要連接的數據庫對象
private string connectionStr = ""; //連接的字符串
public string cmdText1 = "select * from account"; //查詢語句
public string cmdText2 = "Insert into account value('你好','789','男',20,'[email protected]');"; //查詢語句。添加信息。注意value括號後必須有分號
void Start()
{
connectionStr = string.Format("Server={0};Database={1};User ID={2};Password={3}",ipAddress,dataname,root,password);
mySqlConnection = new MySqlConnection(connectionStr); //創建數據庫對象
}
void OnGUI()
{
if (GUILayout.Button("openMySql"))//建一個按鈕,打開數據庫
{
if (mySqlConnection != null)//如果數據庫對象不是空
{
mySqlConnection.Open();//打開數據庫
}
}
if (GUILayout.Button("SelectTable"))//建一個按鈕,查詢數據庫
{
MySqlCommand command = new MySqlCommand(cmdText1, mySqlConnection);//執行命令MySqlCommand
if (command != null)
{
//查詢數據庫內容,但不影響內容(不修改)
MySqlDataReader reader = command.ExecuteReader();
if (reader.HasRows) //是否檢測到行(有行存在)
{
while(reader.Read())//讀取行內的信息,讀取到爲true,直到沒有行爲止
{
string TempStr = "";//用來存內容
TempStr += reader["用戶名"];//reader["用戶名"]表示查詢表格中的用戶名一欄
print(TempStr);
}
}
//讀取數據庫內容,並修改
//command.ExecuteNonQuery();
//查詢數據庫內容,但不影響內容(不修改)
//command.ExecuteReader();
}
}
if (GUILayout.Button("InsertText"))//建一個按鈕,向數據庫添加信息
{
MySqlCommand command = new MySqlCommand(cmdText2, mySqlConnection);//執行cmdText2的命令
if (command != null)
{
command.ExecuteNonQuery();//添加信息
}
}
}
}