Unity 連接操作數據庫

本人剛剛開始學習這方面知識,只是當做課堂筆記記錄,分享給大家,如有錯誤還請大家多多指教。謝謝

在unity中新建文件夾Plugins,找到unity安裝目錄中的System.Data.dll文件,放入文件夾中。再將mysql.data.dll文件放入文件夾中
System.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();//添加信息               
            }
        }
    }
}

腳本

數據庫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章