Unity2020 使用SQLite (添/删/改/查)(保姆级)

Unity2020 使用SQLite(添/删/改/查) (保姆级)

资源下载

项目资源

Unity版本   Unity 2020.3.26f1c1
VS版本      Visual Studio 2019

项目下载链接

dll扩展文件

扩展文件下载地址

SQLiteScript文件夹

文件夹下载地址

可视化窗口

可视化窗口下载地址

使用可视化窗口

Unity2020 使用SQLite (添/删/改/查)(保姆级)

Unity2020 使用SQLite (添/删/改/查)(保姆级)
Unity2020 使用SQLite (添/删/改/查)(保姆级)
Unity2020 使用SQLite (添/删/改/查)(保姆级)

Unity2020 使用SQLite (添/删/改/查)(保姆级)
Unity2020 使用SQLite (添/删/改/查)(保姆级)

; 存放到Plugins文件夹

下载好dll扩展文件和SQLiteScript文件夹后,
先把Mono.Data 和Mono.Data.Sqlite 和sqlite3 和 libsqlite3 放到 Assets/Plugins文件夹中
并且把SQLiteScript文件夹也拖拽到Assets当中

如下图

Unity2020 使用SQLite (添/删/改/查)(保姆级)

使用SQLite 数据库(添/删/改/查)

Getdb方法实现 注意:SQLiteHelper填写的数据库路径一定是要在StreamingAssets文件当中 路径不需要写.db文件名后缀
如下图

Unity2020 使用SQLite (添/删/改/查)(保姆级)
    private void Getdb(Action<DbAccess> action)
    {

        SQLiteHelper helper = new SQLiteHelper(Path);

        using (var db = helper.Open())
        {

            action(db);
        }

    }

&#x5982;&#x679C;&#x4E0D;&#x4F7F;&#x7528;using&#x5757;&#x5957;&#x4F4F;&#x6570;&#x636E;&#x5E93;&#x64CD;&#x4F5C;&#x7C7B; &#x9700;&#x8981;&#x624B;&#x52A8; &#x6253;&#x5F00; &#x548C;&#x5173;&#x95ED;&#x6570;&#x636E;&#x5E93;

    private void Getdb2(Action<DbAccess> action)
    {

        SQLiteHelper helper = new SQLiteHelper(Path);

        var db = helper.Open();

        action(db);

        db.CloseSqlConnection();

    }

SQLite类型列表

SQLite&#x7C7B;&#x578B;&#x8F6C;&#x6362;&#x8868; &#x6CE8;&#x610F;&#xFF1A;SQLite&#x7C7B;&#x578B;&#x5168;&#x90FD;&#x662F;&#x5927;&#x5199;

     SQLite类型 对应  C#数据类型
     TINYINT          Byte   -->byte
     INT              Int32  -->int
     INTEGER          Int64  -->long
     SINGLE           Single -->float
     DECIMAL          Decimal -->decimal

     BIT              Boolean -->bool
     BOOLEAN          Boolean -->bool
     注意:bool类型 只能存储 0-1 到数据库中 (0)false (1) true

     DOUBLE           Double -->double (首选)
     REAL             Double -->double

     NVARCHAR         String -->string
     STRING           String -->string  (首选)
     TEXT             String -->string  文本字符串,存储使用的编码方式为UTF-8、UTF-16BE、UTF-16LE

     TIME             DateTime
     DATETIME         DateTime (首选)
     生成时间字符串代码:
     DateTime.Now.ToString("s");

数据库存储格式

&#x6CE8;&#x610F;&#xFF1A;DataTime &#x5B58;&#x50A8;&#x6570;&#x636E;&#x5E93;&#x7684;&#x683C;&#x5F0F;&#xFF1A;"s"

DateTime.Now.ToString("s");

&#x6CE8;&#x610F; bool&#x7C7B;&#x578B;&#x5B58;&#x50A8;&#x683C;&#x5F0F;&#x4E3A; 0-1

0 代表false  1  代表是true

创建表

&#x9700;&#x6C42;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x8868;&#x540D; &#x4E3A;UserInfo
&#x5B57;&#x6BB5;&#x540D;&#x79F0; UID User Password LoginTime &#x5BF9;&#x5E94;&#x7684;C#&#x7C7B;&#x578B; &#x662F;
long string string DateTime &#x4EE3;&#x7801;&#x5982;&#x4E0B;


 Getdb(db => db.CreateTable("UserInfo", new[] {
    "UID", "User", "Password", "LoginTime" },
      new[] {
    "INTEGER", "STRING", "STRING", "DATETIME" }));

Unity2020 使用SQLite (添/删/改/查)(保姆级)

插入

&#x9700;&#x6C42;&#x7ED9;&#x5BF9;&#x5E94;&#x5B57;&#x6BB5;&#x63D2;&#x5165;&#x6570;&#x636E; &#x5206;&#x522B;&#x4E3A; 5201314 imdork 142536 &#x5F53;&#x524D;&#x672C;&#x5730;&#x65F6;&#x95F4; &#x4EE3;&#x7801;&#x5982;&#x4E0B;


 Getdb(db => db.InsertIntoSpecific("UserInfo", new[] {
    "UID", "User", "Password","LoginTime" }
 , new [] {
    "5201314", "imdork", "142536", DateTime.Now.ToString("s") }));

Unity2020 使用SQLite (添/删/改/查)(保姆级)

查询

&#x9700;&#x6C42;&#x67E5;&#x8BE2;&#x6570;&#x636E;UID &#x5927;&#x4E8E;50 &#x5BF9;&#x5E94;User &#x5B57;&#x6BB5;&#x7684;&#x6570;&#x636E; &#x548C;LoginTime &#x65F6;&#x95F4;&#x5BF9;&#x5E94;&#x6570;&#x636E; &#x4EE3;&#x7801;&#x5982;&#x4E0B;&#xFF1A;


    Getdb(db =>
    {

        var reader = db.SelectWhere("UserInfo", new[] {
    "User","LoginTime" },
        new[] {
    "UID" }, new[] {
    ">" }, new[] {
    "50" });

        Dictionary<string, object> pairs = SQLiteTools.GetValue(reader);

        print("User账号是:" + pairs["User"]);

       print("LoginTime登录时间是:" + pairs["LoginTime"]);

   });

&#x6700;&#x540E;&#x6253;&#x5370;&#x7ED3;&#x679C;

Unity2020 使用SQLite (添/删/改/查)(保姆级)

根据条件查询当行所有字段

        Getdb(obj =>
            {

                var reader = obj.SelectsWhere("UserInfo",
                    new[] {
    "UID", "User" }, new[] {
    ">", "=" }, new[] {
    "50", "imdork" });

                var keys = SQLiteTools.GetValue(reader);

                foreach (var item in keys)
                {

                    print("数据库字段名为:" + item.Key + "  对应数据值为:" + item.Value);
                }
            }
            );

&#x6700;&#x540E;&#x6253;&#x5370;

Unity2020 使用SQLite (添/删/改/查)(保姆级)

查询数据库全部数据

Unity2020 使用SQLite (添/删/改/查)(保姆级)

   Getdb(db =>
   {

         var reader = db.ReadFullTable("UserInfo");

         var pairs = SQLiteTools.GetValues(reader);

         for (int i = 0; i < pairs.Length; i++)
         {

              foreach (var item in pairs[i])
              {

                   print("数据库字段名为:" + item.Key + "  对应数据值为:" + item.Value);
              }
        }
   });

&#x6700;&#x540E;&#x63A7;&#x5236;&#x53F0;&#x8F93;&#x51FA;&#x7ED3;&#x679C;&#x5982;&#x4E0B;&#xFF1A;

Unity2020 使用SQLite (添/删/改/查)(保姆级)

&#x8FD8;&#x6709;&#x67E5;&#x8BE2;bool&#x53EA;&#x80FD;&#x4F7F;&#x7528;&#x4EE5;&#x4E0B;&#x529E;&#x6CD5;&#x5982;&#x4E0B;&#x65B9;&#x4EE3;&#x7801;


  var reader = db.ReadFullTable("表名");

  while

Original: https://blog.csdn.net/qq_43333567/article/details/125687424
Author: 勤诚勇毅
Title: Unity2020 使用SQLite (添/删/改/查)(保姆级)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/815191/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球