zoukankan      html  css  js  c++  java
  • Unity 连接MySql数据库

    将四个动态链接库放在Assets文件下建plugins下

    创建MySqlAccess

    public class MySqlAccess
    {
        //连接类对象
        private static MySqlConnection mySqlConnection;
        //IP地址
        private static string host;
        //端口号
        private static string port;
        //用户名
        private static string userName;
        //密码
        private static string password;
        //数据库名称
        private static string databaseName;
    
        /// <summary>
        /// 构造方法
        /// </summary>
        /// <param name="_host">ip地址</param>
        /// <param name="_userName">用户名</param>
        /// <param name="_password">密码</param>
        /// <param name="_databaseName">数据库名称</param>
        public MySqlAccess(string _host, string _port, string _userName, string _password, string _databaseName)
        {
            host = _host;
            port = _port;
            userName = _userName;
            password = _password;
            databaseName = _databaseName;
            OpenSql();
        }
    
        /// <summary>
        /// 打开数据库
        /// </summary>
        public void OpenSql()
        {
            try
            {
                string mySqlString = string.Format("Database={0};Data Source={1};User Id={2};Password={3};port={4};charset=utf8"
                    , databaseName, host, userName, password, port);
                mySqlConnection = new MySqlConnection(mySqlString);
                //if(mySqlConnection.State == ConnectionState.Closed)
                mySqlConnection.Open();
            }
            catch (Exception e)
            {
                throw new Exception("服务器连接失败,请重新检查MySql服务是否打开。" + e.Message.ToString());
            }
    
        }
    
        /// <summary>
        /// 关闭数据库
        /// </summary>
        public void CloseSql()
        {
            if (mySqlConnection != null)
            {
                mySqlConnection.Close();
                mySqlConnection.Dispose();
                mySqlConnection = null;
            }
        }
    
        /// <summary>
        /// 查询数据
        /// </summary>
        /// <param name="tableName">表名</param>
        /// <param name="items">要查询的列</param>
        /// <param name="whereColumnName">查询的条件列</param>
        /// <param name="operation">条件操作符</param>
        /// <param name="value">条件的值</param>
        /// <returns></returns>
        public DataSet Select(string tableName, string[] items, string[] whereColumnName,
            string[] operation, string[] value)
        {
    
            if (whereColumnName.Length != operation.Length || operation.Length != value.Length)
            {
                throw new Exception("输入不正确:" + "要查询的条件、条件操作符、条件值 的数量不一致!");
            }
            string query = "Select " + items[0];
            for (int i = 1; i < items.Length; i++)
            {
                query += "," + items[i];
            }
    
            query += " FROM " + tableName + " WHERE " + whereColumnName[0] + " " + operation[0] + " '" + value[0] + "'";
            for (int i = 1; i < whereColumnName.Length; i++)
            {
                query += " and " + whereColumnName[i] + " " + operation[i] + " '" + value[i] + "'";
            }
            return QuerySet(query);
    
        }
    
        /// <summary>
        /// 执行SQL语句
        /// </summary>
        /// <param name="sqlString">sql语句</param>
        /// <returns></returns>
        private DataSet QuerySet(string sqlString)
        {
            if (mySqlConnection.State == ConnectionState.Open)
            {
                DataSet ds = new DataSet();
                try
                {
                    MySqlDataAdapter mySqlAdapter = new MySqlDataAdapter(sqlString, mySqlConnection);
                    mySqlAdapter.Fill(ds);
                }
                catch (Exception e)
                {
                    throw new Exception("SQL:" + sqlString + "/n" + e.Message.ToString());
                }
                finally
                {
                }
                return ds;
            }
            return null;
        }
        /// <summary>
        /// 根据Uid更新数据库信息
        /// </summary>
        /// <param name="tableName">需要更新的表名</param>
        /// <param name="uid">需要更新的用户id</param>
        /// <param name="items">需要更新的参数</param>
        /// <param name="values">需要更新的值</param>
        public void Update(string tableName, int uid, string[] items, string[] values)
        {
            string query = "Update  " + tableName + " set ";
            for (int i = 0; i < items.Length - 1; i++)
            {
                query += items[i] + "='" + values[i] + "',";
            }
            query += items[items.Length - 1] + "='" + values[items.Length - 1];
            query += "' where user_id=" + uid + ";";
            QuerySet(query);
        }
    }
    
  • 相关阅读:
    win10安装node后npm 报错
    nodejs 图片的像素级别处理
    vue 等比例截图组件,支持缩放和旋转
    撸一个 vue 的截图组件,按比例截取
    原生 js 录屏功能
    Mongodb命令行导入导出数据
    Linux 下配置 iSCSI 客户端
    基于 Docker 实现 DevOps 的一些探索
    10 张图带你深入理解 Docker 容器和镜像
    浅谈 Docker 安全合规建设
  • 原文地址:https://www.cnblogs.com/code-fun/p/14279613.html
Copyright © 2011-2022 走看看