Unity使用Sqlite3增删改查

知识准备

  1. sqlite命令教程
  2. SqliteConnection 连接数据库
  3. SqliteCommand 执行sql命令

示例

using UnityEngine;
using Mono.Data.Sqlite;
using System.IO;
public class SqliteHelper : MonoBehaviour
{
    string databaseFilePath = Application.streamingAssetsPath + "/database/Test.db";
    SqliteConnection connection;
    private void Awake()
    {
        //创建数据库
        if (!File.Exists(databaseFilePath))//数据库文件是否存在
        {
            if (!Directory.Exists(databaseFilePath))//数据库所在的目录是否存在
                Directory.CreateDirectory(databaseFilePath + "/..");//创建文件夹
            SqliteConnection.CreateFile(databaseFilePath);//创建数据库文件
        }
        //连接数据库
        connection = new SqliteConnection("Data Source=" + databaseFilePath);
        connection.Open();
    }
    private void OnGUI()
    {
        if (connection.State != System.Data.ConnectionState.Open)
        {
            return;
        }
        if (GUILayout.Button("添加表"))
        {
            SqliteCommand command = new SqliteCommand("create table student(Id Int Primary key Not Null,Name Text Not Null);", connection);
            command.ExecuteNonQuery();
        }
        if (GUILayout.Button("删除表"))
        {
            SqliteCommand command = new SqliteCommand("drop table student", connection);
            command.ExecuteNonQuery();
        }
        if (GUILayout.Button("添加数据"))
        {
            SqliteCommand command = new SqliteCommand("insert into student(Id,Name) values(0,'小明');", connection);
            command.ExecuteNonQuery();
        }
        if (GUILayout.Button("删除数据"))
        {
            SqliteCommand command = new SqliteCommand("DELETE FROM student WHERE Id=0", connection);
            command.ExecuteNonQuery();
        }
        if (GUILayout.Button("修改数据"))
        {
            SqliteCommand command = new SqliteCommand("UPDATE student SET Name='小红' WHERE Id=0", connection);
            command.ExecuteNonQuery();
        }
        if (GUILayout.Button("查询数据"))
        {
            SqliteCommand command = new SqliteCommand("select Id,Name from student where Id=0", connection);
            var reader = command.ExecuteReader();
            while (reader.Read())
                Debug.Log((reader[0], reader[1]));
            reader.Close();
        }
    }
    private void OnDestroy()
    {
        if (connection != null)
        {
            connection.Close();
        }
    }
}

使用MySQL进行增删改查,需要在Unity使用MySQL Connector/NET驱动程序。下面是一个简单的Unity C#代码示例,说明如何连接到MySQL数据库并执行增删改查操作: 首先,需要在Unity中安装MySQL Connector/NET驱动程序。可以从MySQL官方网站上下载。 然后,需要在C#项目中添加对MySQL Connector/NET的引用。可以在Visual Studio中右键单击项目,选择“添加引用”,然后选择MySQL Connector/NET。 接下来,需要在C#代码中使用MySQL Connector/NET命名空间。可以使用以下代码: using MySql.Data.MySqlClient; 然后,需要创建一个MySQL连接对象,并将其连接到数据库。可以使用以下代码: string connectionString = "Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;"; MySqlConnection connection = new MySqlConnection(connectionString); connection.Open(); 在这个代码中,需要将“myServerAddress”替换为MySQL服务器的地址,“myDataBase”替换为要连接的数据库名称,“myUsername”替换为MySQL用户名,“myPassword”替换为MySQL密码。 接下来,可以使用MySQL命令对象执行SQL查询。可以使用以下代码: MySqlCommand command = connection.CreateCommand(); command.CommandText = "SELECT * FROM myTable"; MySqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { Debug.Log(reader["columnName"].ToString()); } 在这个代码中,需要将“myTable”替换为要查询的表名称,“columnName”替换为要检索的列名称。 要执行其他操作,如插入、更新或删除,可以使用类似的方法。 例如,要插入一条记录,可以使用以下代码: MySqlCommand command = connection.CreateCommand(); command.CommandText = "INSERT INTO myTable (columnName1, columnName2) VALUES ('value1', 'value2')"; command.ExecuteNonQuery(); 在这个代码中,需要将“myTable”替换为要插入记录的表名称,“columnName1”和“columnName2”替换为要插入的列名称,“value1”和“value2”替换为要插入的值。 完成所有操作后,需要关闭MySQL连接。可以使用以下代码: connection.Close(); 这是一个简单的Unity使用MySQL进行增删改查的示例代码。注意,这只是一个起点,需要进一步学习MySQL Connector/NET和SQL查询语言才能深入了解如何使用MySQL进行增删改查
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值