SQLite学习——Dapper一些基本操作

参考:https://blog.csdn.net/penghao_1/article/details/82624453

首先创建两个类(数据库对象映射)

     public class BOOKINFO
    {
        public string user_id { get; set; }
        public string book_id { get; set; }
        public int book_price { get; set; }
        public int user_age { get; set; }
        public string user_habbit { get; set; }
    }
     public class JOINTEST
     {
         public string user_id;
         public string user_habbit;
     }

获取连接字符串,用于之后连接数据库

        private static string LoadConnectString(string id = "F:\\C#联合SQLite学习\\C#DapperSQLite\\WindowsFormsApplication1\\AllCode.db")
        {

            SQLiteConnection dbConnection = new SQLiteConnection();
            SQLiteConnectionStringBuilder dbConnectionstr = new SQLiteConnectionStringBuilder();
            dbConnectionstr.DataSource = id;
            return dbConnectionstr.ToString();
        }

插入单值

        public static void MineInsert(BOOKINFO bookinfo)
        {
            using (IDbConnection cnn = new SQLiteConnection(LoadConnectString()))
            {
                cnn.Execute("INSERT INTO bookinfo(user_id,book_id,book_price,user_age,user_habbit) VALUES (@user_id,@book_id,@book_price,@user_age,@user_habbit)", bookinfo);
            }
        }

插入多值

        public static void MutiInsert(List<BOOKINFO> bookinfo)
        {
            using (IDbConnection cnn = new SQLiteConnection(LoadConnectString()))
            {
                cnn.Execute("INSERT INTO bookinfo(user_id,book_id,book_price,user_age,user_habbit) VALUES (@user_id,@book_id,@book_price,@user_age,@user_habbit)", bookinfo);
            }
        }

删除指定数据

        public void MineDelete(BOOKINFO bookinfo)
        {
            using(IDbConnection cnn = new SQLiteConnection(LoadConnectString()))
            {
                cnn.Execute("DELETE FROM bookinfo WHERE user_id = @USER_ID",bookinfo);
            }
        }

删除多条数据

        public void MutiDelete(List<BOOKINFO> bookinfo)
        {
            using (IDbConnection cnn = new SQLiteConnection(LoadConnectString()))
            {
                cnn.Execute("DELETE FROM bookinfo WHERE user_id = @USER_ID", bookinfo);
            }
        }

查找指定数据

        public void MineSelect(BOOKINFO bookinfo)
        {
            using (IDbConnection cnn = new SQLiteConnection(LoadConnectString()))
            {
                cnn.Execute("SELECT * FROM bookinfo WHERE user_id = @USER_ID",bookinfo);
            }
        }

查找所有数据

        public void MineSelectAll()
        {
            using (IDbConnection cnn = new SQLiteConnection(LoadConnectString()))
            {
                //var output = cnn.Execute("SELECT * FROM bookinfo");
                var output = cnn.Query<BOOKINFO>("SELECT * FROM bookinfo");
                foreach (var item in output)
                {
                    string str = "编号为" + item.user_id + "的聊天内容" + item.book_id;
                    MessageBox.Show(str);
                }
            }
        }

IN操作

        public void MineIn<T>(T[] listtmp)
        {
            using (IDbConnection cnn = new SQLiteConnection(LoadConnectString()))
            {
                var output = cnn.Query<BOOKINFO>("SELECT * FROM bookinfo WHERE user_id IN @listtmp", new { listtmp}).ToList();
                foreach (var item in output)
                {
                    string str = "编号为" + item.user_id + "的聊天内容" + item.book_id;
                    MessageBox.Show(str);
                }
            }
        }

访问不同的表,执行多条语句

        public void QueryMultiple()
        {
            using (IDbConnection cnn = new SQLiteConnection(LoadConnectString()))
            {
                var sql = "SELECT * FROM bookinfo ; SELECT * FROM jointest";
                var multiReader = cnn.QueryMultiple(sql);
                var bookinfolist = multiReader.Read<BOOKINFO>();
                var jointestlist = multiReader.Read<JOINTEST>();
                foreach (var item in bookinfolist)
                {
                    string str = "编号为" + item.user_id + "的聊天内容" + item.book_id;
                    MessageBox.Show(str);
                }
                foreach (var item in jointestlist)
                {
                    string str = "编号为" + item.user_id + "的聊天内容" + item.user_habbit;
                    MessageBox.Show(str);
                }
                multiReader.Dispose();
            }
        }

测试Excute方法
在这里插入图片描述

        public void test()
        {
            using (IDbConnection cnn = new SQLiteConnection(LoadConnectString()))
            {
                string sql = "SELECT * FROM bookinfo ; SELECT * FROM jointest";
                string sql1 = "DELETE FROM bookinfo WHERE user_id = \" 卡莎\"";
                string sql2 = "INSERT INTO bookinfo VALUES (\"卡莎 \",\"虚空的生存法则\",13,13,\" 狩猎\")";
                cnn.Execute(sql);
                cnn.Execute(sql1);
                cnn.Execute(sql2);
            }
        }

不急 一步一步

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Vector_LW

我们终将成龙 加油

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

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

打赏作者

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

抵扣说明:

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

余额充值