unity中使用MYSQL數據庫的一些總結


在unity中使用mysql需要引用mysql的dll文件

還有一些dll文件在打包出手機端時需要用到

大致總結一些 可能會用到的一些dll文件

需要引用的DLL文件:
/// Mysql.Data.dll
/// 在unity中需要:
/// l18n.cjk.dll
/// l18n.dll
/// system.data.dll
/// system.drawing.dll

 

對數據庫進行操作必須需要牢記:打開數據庫執行一次操作之后一定要關閉數據庫,再使用時再打開。也就是說數據庫的一次開關只能執行一次命令

在代碼中直接寫sql語句會有很大的可能性出現語法錯誤,個人建議先在dos窗口中先寫,確保沒錯在粘貼到代碼中,mysql對語法 的要求比較嚴格,

對數據庫最頻繁的操作無非就是增刪改查,具體實現看示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
using System.Data;

/// <summary>
/// 需要引用的DLL文件:
/// Mysql.Data.dll
/// 在unity中需要:
/// l18n.cjk.dll
/// l18n.dll
/// system.data.dll
/// system.drawing.dll
/// </summary>

namespace 數據庫操作
{
    class Program
    {
        //遠程連接
      //  string connectionString= "User ID = ; Password =.; Host =; Port =3306;Database = ;Charset = ";
      //本地連接
  public static     string connectionString= "User ID = ; Password = ; Host = ; Port = 3306;Database = ;Charset = ";

        public static MySqlConnection dbConnection;

        static void Main(string[] args)
        {
        }


        
        //打開數據庫鏈接
        static void OpenSqlConnection(string connectionString)
        {
            dbConnection = new MySqlConnection(connectionString);
            dbConnection.Open();
        }

        //關閉數據庫連接
        static void CloseConnection()
        {
            if (dbConnection != null)
            {
                dbConnection.Close();
                dbConnection.Dispose();
                dbConnection = null;
            }
        }

        //保存數據
        public static  DataSet GetDataSet(string sqlString)
        {
            DataSet ds = new DataSet();
            try
            {
              //用於檢索和保存數據
              //Fill(填充)能改變DataSet中的數據以便於數據源中數據匹配
              //Update(更新)能改變數據源中的數據以便於DataSet中的數據匹配
              
                MySqlDataAdapter da = new MySqlDataAdapter(sqlString, dbConnection);
                da.Fill(ds);



            }
            catch (Exception ee)
            {
                throw new Exception("SQL:" + sqlString + "\n" + ee.Message.ToString());
            }
            return ds;



        }

        //增 insert
        static void Add()
        {
            OpenSqlConnection(connectionString);
            string sqlstring= "insert into userinformation(name,password,tel) values();";//保證sql語句的正確性
            GetDataSet(sqlstring);
            CloseConnection();
        }

        //刪 delete
        static void Delete()
        {
            OpenSqlConnection(connectionString);
            string sqlstring = "delete from 表名;";
            GetDataSet(sqlstring);
            CloseConnection();
        }

        //改 update
        static void Update()
        {
            OpenSqlConnection(connectionString);
            string sqlstring = "update 表名 set 字段=值 where 條件;";
            GetDataSet(sqlstring);
            CloseConnection();

        }

        //查 select
        static void Select()
        {
            OpenSqlConnection(connectionString);
            MySqlCommand mysqlcommand = new MySqlCommand("select * from 表名;", dbConnection);
            MySqlDataReader reader = mysqlcommand.ExecuteReader();
            try
            {
                while (reader.Read())
                {
                    if (reader.HasRows)
                    {
                        //reader.getstring(0)/getint(0).....
                    }
                }
            }
            catch (Exception)
            {
                Console.WriteLine("failed to select");

            }
            finally
            {
                reader.Close();
            }

            CloseConnection();
        }


    }
}

基本上就是這樣,如有問題請自己調試

最后在強調,數據庫打開之后,執行完命令一定要關閉

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM