1 public class SQLiteHelpers
 2     {
 3         /// <summary>
 4         /// ConnectionString样例:Datasource=Test.db3;Pooling=true;FailIfMissing=false
 5         /// </summary>
 6         public static string ConnectionString { get; set; }
 7         private static void PrepareCommand(SQLiteCommand cmd, SQLiteConnection conn, string cmdText, params object[] p)
 8         {
 9             if (conn.State != ConnectionState.Open)
10                 conn.Open();
11             cmd.Parameters.Clear();
12             cmd.Connection = conn;
13             cmd.CommandText = cmdText;
14             cmd.CommandType = CommandType.Text;
15             cmd.CommandTimeout = 30;
16             if (p != null)
17             {
18                 foreach (object parm in p)
19                     cmd.Parameters.AddWithValue(string.Empty, parm);
20             }
21         }
22         public static DataSet ExecuteQuery(string cmdText, params object[] p)
23         {
24             using (SQLiteConnection conn = new SQLiteConnection(ConnectionString))
25             {
26                 using (SQLiteCommand command = new SQLiteCommand())
27                 {
28                     DataSet ds = new DataSet();
29                     PrepareCommand(command, conn, cmdText, p);
30                     SQLiteDataAdapter da = new SQLiteDataAdapter(command);
31                     da.Fill(ds);
32                     return ds;
33                 }
34             }
35         }
36         public static int ExecuteNonQuery(string cmdText, params object[] p)
37         {
38             using (SQLiteConnection conn = new SQLiteConnection(ConnectionString))
39             {
40                 using (SQLiteCommand command = new SQLiteCommand())
41                 {
42                     PrepareCommand(command, conn, cmdText, p);
43                     return command.ExecuteNonQuery();
44                 }
45             }
46         }
47         public static SQLiteDataReader ExecuteReader(string cmdText, params object[] p)
48         {
49             using (SQLiteConnection conn = new SQLiteConnection(ConnectionString))
50             {
51                 using (SQLiteCommand command = new SQLiteCommand())
52                 {
53                     PrepareCommand(command, conn, cmdText, p);
54                     return command.ExecuteReader(CommandBehavior.CloseConnection);
55                 }
56             }
57         }
58         public static object ExecuteScalar(string cmdText, params object[] p)
59         {
60             using (SQLiteConnection conn = new SQLiteConnection(ConnectionString))
61             {
62                 using (SQLiteCommand command = new SQLiteCommand())
63                 {
64                     PrepareCommand(command, conn, cmdText, p);
65                     return command.ExecuteScalar();
66                 }
67             }
68         }
69     }
70 }

转载于:https://www.cnblogs.com/ygd-boke/p/4398389.html

C# SQLiteHelper相关推荐

  1. C# SQLiteHelper类似SqlHelper类实现存取Sqlite数据库

    这个类不是我实现的,原文在这里,我修改了原文中分析sql语句参数的方法,将方法名修改为AttachParameters,将其修饰符修改为private,并直接传递command到这个方法,直接绑定参数 ...

  2. SQLiteHelper

    本文定义了一个DBHelper类,是SQLite的.需要添加一个System.Data.SQLite的dll,可以到SQLite的官网下载.类的代码如下 1 using System; 2 using ...

  3. SqliteHelper整理(转载)

    转载于http://www.cnblogs.com/Bytime/archive/2011/10/27/2226004.html 下面是全部代码: class SqliteHelper { priva ...

  4. 使用SQLiteHelper创建数据库并插入数据

    参考<疯狂android讲义>8.4节P424 1.获取SQLiteDatabase实例有2种方法,一是直接new SQLiteDatabase(),另一种使用SQLiteHelper.一 ...

  5. SqliteHelper整理

    刚开通博客不久,还没有发过文.这是第一篇,要鼓励我自己再接再厉. 另外,我也是刚刚踏上程序员这条路,有赖各位多多提携! 闲话不多说,最近参与的项目包含本地化存储这一块.昨天就园子里找了些资料有另外补充 ...

  6. Objective-C SQLiteHelper

    为毛要用CoreData,SQLite不是挺好吗? 如果你要用这些代码,请无比仔细测试. 欢迎各种拍砖.探讨! 你可以从这里下载 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  7. 关于安卓版的eclipse连接数据库并誓言增删改查

        在安卓环境下连接数据库下面是主要代码极其作用: 1.编写 The Class类把课程表courses.db当做一个实体类,hashcode和equals这两个类是为了判断输入的查询内容和Exc ...

  8. Windows Mobile下访问Sqlite的Native C++封装

    背景 当前移动设备开发领域,在本地数据存储方面,Sqlite几乎成了事实标准,Andriod (android.database.sqlite),iPhone (SQLite for iPhone S ...

  9. [iPhone-Sqlite3]sqlite3_prepare_v2() 不返回 SQLITE_OK,调试

    这是关于这个×××的定义. #define SQLITE_OK          0 #define SQLITE_ERROR        1 #define SQLITE_INTERNAL     ...

最新文章

  1. vue-cli脚手架(框架)
  2. Storm 0.9安装指南
  3. python视频课程推荐-《Python从小白到大牛》全集视频课程介绍
  4. 【Android 逆向】函数拦截原理 ( 通过修改 GOT 全局偏移表拦截函数 | 通过在实际被调用的函数中添加跳转代码实现函数拦截 )
  5. web前端之HTML中的div
  6. HTML学习笔记4之第五章第六章
  7. 依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的5个数,且该数是奇数,则把这个四位数按从小到大的顺序存入数组b中,并计算满足上述条件的四位数的个数cnt。
  8. springboot 设置默认访问index.html_【SpringBoot WEB系列】WebFlux静态资源配置与访问
  9. 学计算机应用技术应具备什么素养,2018年云南经济管理学院单招计算机应用技术职业适应性测试大纲...
  10. Ubuntu安装五笔输入法
  11. 如何卸载Vmware Workstation虚拟机
  12. 工业互联网环境下的工业控制系统安全防护
  13. 看到它,让我想起了帅出天际的精灵王子……
  14. Android安装包APK如何解压
  15. 【Unity性能优化】静态资源优化——Audio优化
  16. APICloud+vue+vant实现二维码扫码功能
  17. 用 Python 写一个俄罗斯方块游戏
  18. Frustum culling
  19. Docker:overlay2浅析
  20. Java去掉C2A0等不可见字符

热门文章

  1. Linux下 C语言统计时间差
  2. java局部变量全局变量,实例变量的理解
  3. docker run 或者 docker restart 启动镜像就自动退出
  4. 浅谈Transformer 及Attention网络
  5. LeetCode中等题之简易银行系统
  6. LLVM与Clang局部架构与语法分析
  7. Turing渲染着色器网格技术分析
  8. KITTI数据集上MaskRCNN检测效果示例
  9. YOLOv4全文阅读(全文中文翻译)
  10. Django 视图和模板1.4