【极简代码】Unity C#连接查询MySQL数据库和MongoDB数据库

环境配置

主要是对Unity做一些配置,建议不要用Visual Studio NuGet中的dll文件,太新了,不兼容,直接导入一些dll文件到以下文件夹更快、更好:

  1. 在Unity的Assets根目录创建Plugins文件夹;
  2. 将MySql.Data.dll文件存入Plugins文件夹,此为MySQL运行环境;
  3. 将DnsClient.dll、MongoDB.Bson.dll、MongoDB.Driver.Core.dll、MongoDB.Driver.dll、System.Buffers.dll五个文件存入Plugins文件夹,此为MongoDB运行环境;
  4. 脚本引入MySql.Data.MySqlClient命名空间;
  5. 脚本引入MongoDB.Bson和MongoDB.Driver命名空间。

MySQL代码片

	//全局变量
    MySqlConnection connection;

void MysqlConn()
    {
        MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
        //用户名
        builder.UserID = "用户名";
        //密码
        builder.Password = "密码";
        //服务器地址
        builder.Server = "localhost";
        //连接的数据库
        builder.Database = "连接的数据库";
        //建立连接
        connection = new MySqlConnection(builder.ConnectionString);
        //打开数据库
        connection.Open();

        string id = "2";
        string userName = "To";
        string userDesc = "中文描述内容测试来自unity添加的内容。";
        InsertMSQ(string.Format("INSERT INTO userdesc VALUES('{0}','{1}','{2}');", id,userName, userDesc));//增加数据
        
        SelectMSQ("SELECT * FROM userdesc;");//查询数据
    }

	    void InsertMSQ(string sql)
    {
        MySqlCommand mySqlCommand = new MySqlCommand(sql, connection);
        int result = mySqlCommand.ExecuteNonQuery();
        Debug.LogWarning("Sucess:"+result);
        connection.Close();
    }

    void SelectMSQ(string sql)
    {
        MySqlCommand cmd = new MySqlCommand(sql, connection);
        MySqlDataReader reader = cmd.ExecuteReader();
        while (reader.Read())
        {
            //输出第一列
            Debug.LogWarning(reader.GetInt32(0));            
            if (!reader.IsDBNull(1))
            {
                //输出第二列字段值
                Debug.LogWarning(reader.GetString(1));
            }
            //判断字段"password"是否为null,为null数据转换会失败
            if (!reader.IsDBNull(2))
            {
                //输出第三列字段值
                Debug.LogWarning(reader.GetString(2));
            }
        }
        connection.Close();//关闭数据库
    }

MongoDB代码片

	//全局变量
    IMongoCollection<BsonDocument> mongoCollection;
    IMongoDatabase mongoDatabase;
    
    void MongodbConn()
    {
        MongoClient mongoClient = new MongoClient("mongodb://用户名:密码@localhost:27017/数据库名");//结尾必须带上数据库名,否则连接数据库失败,报3000超时错误。
        mongoDatabase = mongoClient.GetDatabase("数据库名");
        mongoCollection = mongoDatabase.GetCollection<BsonDocument>("集合名");
        MDBInsert("乐乐", "lele");//增加数据
        MDBSelect();//查询数据
    }

        void MDBInsert(string name, string passwd)
    {
        BsonDocument document = new BsonDocument{
        {"name",name},
        {"passwd",passwd}
         };
        mongoCollection.InsertOne(document);
    }

	    void MDBSelect()
    {
        //var filter = Builders<BsonDocument>.Filter.Eq("name", "张三");
        var filter = Builders<BsonDocument>.Filter.Empty;//等价于:var filter = new BsonDocument();
        var result = mongoCollection.Find(filter).ToList();
        
        foreach (var doc in result)
        {
            Debug.LogWarning($"ID: {doc["_id"]}, 姓名: {doc["name"]}, 密码: {doc["passwd"]}");
        }
    }
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值