Unity连接数据库

本文介绍了如何在Unity中使用Navicat工具连接SQL和SQLite数据库,提供了创建数据库、执行查询并处理异常的详细代码片段,包括Awake函数中的连接字符串设置。
摘要由CSDN通过智能技术生成

前言

Unity连接数据库方法,使用数据库管理工具为Navicat,这里分别写了连接SQL数据库,连接本地化SQLite数据库的方法

创建数据库内容

我这里分别创建了两个数据库,数据库名和表名以及密码可以根据自己需要修改

创建SQL数据库内容

创建SQLite数据库内容

SQLite数据库文件保存在本地StreamingAssets文件夹内

连接SQL数据库方法

  /// <summary>
    /// 连接SQL方法
    /// </summary>
    void GetUserSQL()
    {
        connection = new MySqlConnection(connectionString);
        try
        {
            connection.Open();
            string query = "SELECT*FROM data1";//检索该表
            var commmand = new MySqlCommand(query,connection);
            MySqlDataReader reader = commmand.ExecuteReader();
            while (reader.Read())
            {
                int columID = reader.GetInt32("uID");
                string columName = reader.GetString("uName");
                string columPwd = reader.GetString("uPwd");

                userData.Add(columName, columPwd);
                Debug.Log($"读取到内容,ID:{columID};姓名:{columName};密码:{columPwd}");
            }
            reader.Close();//读取完毕释放资源
        }
        catch(MySqlException ex)
        {
            Debug.LogError("连接失败: " + ex.Message);
        }
        finally
        {
            connection.Close();//关闭数据库连接,释放资源
        }
    }

连接SQLite数据库方法

  void GetUserSQLite()
    {
        SqliteConnection connection = new SqliteConnection(connectionString2);
        try
        {
            connection.Open();
            string query = "SELECT*FROM user1";
            SqliteCommand command = new SqliteCommand(query, connection);
            SqliteDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                int columID = reader.GetInt32(0);
                string columName = reader.GetString(1);
                string columPwd = reader.GetString(2);

                Debug.Log($"读取到内容,ID:{columID};姓名:{columName};密码:{columPwd}");
            }
            reader.Close();
        }
        catch (MySqlException ex)
        {
            Debug.LogError("连接失败: " + ex.Message);
        }
        finally
        {
            connection.Close();
        }

    }

声明所需对象

    public Dictionary<string, string> userData = new Dictionary<string, string>();//存储获取到的用户信息

    MySqlConnection connection;//创建数据库连接对象
    private string connectionString;//SQL连接信息
    private string connectionString2;//本地化SQLite地址

    private void Awake()
    {
        connectionString = "server=localhost;user id=root;password=登录密码;database=user;charset=utf8;";
        connectionString2 = "URI=file:" + Application.streamingAssetsPath + "/test.db";
    }

附:读取MySQL和SQLite库文件稍后会上传到资源,大家网上找不到的话可以直接下载使用。

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Unity连接MySQL数据库可以通过使用MySQL Connector/NET来实现。下面是一些基本步骤: 1. 下载并安装MySQL Connector/NET:首先,你需要从MySQL官方网站下载并安装MySQL Connector/NET。这是一个用于在.NET应用程序中连接和操作MySQL数据库的驱动程序。 2. 导入MySQL Connector/NET到Unity项目:在Unity中,你需要将MySQL Connector/NET的DLL文件导入到项目中。可以将DLL文件直接拖放到Unity的Assets文件夹中。 3. 编写连接代码:在Unity中,你可以使用C#编写代码来连接MySQL数据库。首先,你需要在代码中引入MySQL Connector/NET的命名空间。然后,使用连接字符串来指定数据库连接信息,包括服务器地址、用户名、密码等。最后,使用MySQL Connector/NET提供的类和方法来执行数据库操作,如查询、插入、更新等。 以下是一个简单的示例代码,展示了如何连接MySQL数据库并执行查询操作: ```csharp using System; using MySql.Data.MySqlClient; public class MySQLConnector : MonoBehaviour { private MySqlConnection connection; private string server = "localhost"; private string database = "your_database_name"; private string uid = "your_username"; private string password = "your_password"; void Start() { string connectionString = $"Server={server};Database={database};Uid={uid};Pwd={password};"; connection = new MySqlConnection(connectionString); try { connection.Open(); Debug.Log("Connected to MySQL database!"); // 执行查询操作 string query = "SELECT * FROM your_table_name"; MySqlCommand cmd = new MySqlCommand(query, connection); MySqlDataReader dataReader = cmd.ExecuteReader(); while (dataReader.Read()) { // 处理查询结果 string column1 = dataReader.GetString(0); string column2 = dataReader.GetString(1); Debug.Log($"Column 1: {column1}, Column 2: {column2}"); } dataReader.Close(); } catch (Exception e) { Debug.Log("Error connecting to MySQL database: " + e.Message); } finally { connection.Close(); } } } ``` 请注意,上述代码仅为示例,你需要根据你的实际情况进行修改和扩展。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立刀人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值