C# Sqlite工具类

久未写博客。。。除了上代码依然不知道说啥,这就只是一个封装了数据库命令的工具

参考了雨松的工具类 http://www.xuanyusong.com/archives/831

只是在条件方便改写了一下,增加了 Operation 类,通过组合类实现条件的编写

new DbLogicalAND(new DbCompareLessThan("id","10"), new DbCompareNotEqual("id","0"));
以上说的是 id<10 AND id!=0


代码已上传至Github:https://github.com/pinzeweifen/demo/tree/master/Unity/Sqlite


使用示例:

using UnityEngine;
using UnityEditor;
using Database;

public class EditorTest : EditorWindow
{
    [MenuItem("Tool/Test")]
    static void Init()
    {
        //链接数据库,如果数据库不存在自动创建
        DbAccess db = new DbAccess("article.db");

        //创建表,它包含有 TEXT类型 的 name 列  和 INTEGER类型 的 id 列。id 为主键,name和id列不能为空
        db.CreateTable("equip", new string[] { "name", "id" }, new DataType[] { DataType.TEXT, DataType.INTEGER }, 1, new int[] { 0, 1 });

        //是否已经创建 equip 表
        Debug.Log(db.IsCreateTable("equip"));

        //向 equip 表插入 name 为 qq , id 为 666 的数据
        db.InsertInto("equip", new string[] { "qq","666" });

        //向 equip 表插入 列 name 为 aa 的数据
        db.InsertIntoSpecific("equip", new string[] { "name" }, new string[] { "aa" });

        //更改 equip 表 id 等于 666 的数据,把 id 改为 999
        db.UpdateInto("equip", new string[] { "id" }, new string[] { "999" }, new DbCompareEqual("id", "666"));

        //删除 equip 表的 name 等于 aa 的行
        db.Delete("equip", new DbCompareEqual("name", "aa"));
        
        //查找 equip 表所有数据
        var data = db.Select("equip", new string[] { "*" });
        while (data.Read())
        {
            Debug.Log(data.GetValue(0)+"|"+data.GetValue(1));
        }

        //查找 name 列以 q 开头的所有数据
        data = db.SelectWhere("equip", new string[] { "id" }, new DbLogicalLIKE("name", "q%"));
        while (data.Read())
        {
            Debug.Log(data.GetValue(0));
        }

        //清空表
        db.DeleteContents("equip");
        
        //删除表
        db.DropTable("equip");
        
        //关闭数据库链接
        db.CloseSqlConnection();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小鱼游戏开发

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

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

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

打赏作者

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

抵扣说明:

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

余额充值