Unity2019连接MySQL

Unity2019连接MySQL

使用的是Unity2019 和VS2019

在把MySql.Data.dll复制到Assets下后会报错,错误类似于:
在这里插入图片描述
Unable to resolve reference ’ Ubiety.Dns.Core ’
然后打开VS 在项目->管理NuGet程序包
在浏览中搜索Ubiety.Dns.Core
下载成功后可以看到保存路径
在这里插入图片描述
在路径中有很多的版本,unity2019默认是 .NET Standrad2.0,找到一个差不多的版本放进Assets文件夹下

然后会报和上面类似的错误,重复上述操作直到不报错。
在这里插入图片描述
这个是一共添加的.dll文件。

然后是Mysql的使用:

 class MySql_Helper
    {
        private  MySqlConnection mySqlConnection;
        private  string _host;
        private  string _id;
        private  string _pwd;
        private  string _dataBase;

        private string tableName="user";

        public MySql_Helper(string host, string id, string pwd, string dataBase)
        {
            _host = host;
            _id = id;
            _pwd = pwd;
            _dataBase = dataBase;
        }

        /// <summary>
        /// 打开数据库连接
        /// </summary>
        public  void OpenSqlConnection()
        {
            string str="";
            try
            {
                str = string.Format("Database={0};DataSource={1};User Id={2};Password={3}", _dataBase, _host, _id, _pwd,"3306");
                mySqlConnection = new MySqlConnection(str);
                mySqlConnection.Open();
            }
            catch(Exception e)
            {
                Debuger.LogError("MySqlAccess", "OpenSql() 服务器连接失败。 connect str={0};Error:{1}", str, e.Message);
            }
        }

        public DataSet Query(string format, params object[] args)
        {
            string query = string.Format(format, args);
            Debuger.Log("MySqlAccess", "Query() query={0}", query);
            return ExecuteQuery(query);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="tableName">虚拟表名称</param>
        /// <returns></returns>
        private  DataSet ExecuteQuery(string sql)
        {
            if(mySqlConnection.State==ConnectionState.Open)
            {
                DataSet ds = new DataSet();
                try
                {
                    MySqlCommand mySqlCommand = new MySqlCommand(sql, mySqlConnection);
                    MySqlDataAdapter mySqlDataAdapter = new MySqlDataAdapter(mySqlCommand);
                    mySqlDataAdapter.Fill(ds);
                }
                catch(Exception e)
                {
                    Debuger.LogError("MySqlHelper", "ExecuteQuery() sql={0} Error:{1}", sql,e.Message);
                }
                return ds;
            }
            return null;
        }


        /// <summary>
        /// 释放连接
        /// </summary>
        public  void Close()
        {
            if(mySqlConnection!=null)
            {
                mySqlConnection.Close();
                mySqlConnection.Dispose();
                mySqlConnection = null;
            }
        }
MySql_Helper ms = new MySql_Helper("127.0.0.1", "root", "123456", "user_db");
ms.OpenSqlConnection();
DataSet ds = ms.Query("select password from user where username="+"'{0}'", username);
password = (string)ds.Tables[0].Rows[0][0];

由于我也是第一次在Unity中使用MySql,也不知道有没其他更好的方法。

参考:
https://www.cnblogs.com/vuciao/articles/10602971.html
https://blog.csdn.net/qq_42773146/article/details/93593996

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值