[C#] 简单的 Helper 封装 -- SQLiteHelper
using System;
using System.Data;
using System.Data.SQLite; namespace SqliteConsoleApp
{
/// <summary>
/// SQLite 助手
/// </summary>
public sealed class SQLiteHelper
{
private const string ConnectionStr = "Data Source=recipes.s3db";
private static SQLiteHelper _instance;
private static readonly object Locker = new object (); private SQLiteHelper()
{
} /// <summary>
/// 获取实例
/// </summary>
/// <returns></returns>
public static SQLiteHelper GetInstance()
{
if (_instance == null )
{
lock (Locker)
{
if (_instance == null )
{
_instance = new SQLiteHelper ();
}
}
} return _instance;
} /// <summary>
/// 获取数据表
/// </summary>
/// <param name="cmdText"> 需要执行的命令文本 </param>
/// <returns> 一个数据表集合 </returns>
public DataTable GetDataTable( string cmdText)
{
var dt = new DataTable(); try
{
using (var conn = new SQLiteConnection (ConnectionStr))
{
conn.Open();
var cmd = new SQLiteCommand(conn) {CommandText = cmdText};
using (var reader = cmd.ExecuteReader())
{
dt.Load(reader);
}
}
}
catch (Exception e)
{
throw new Exception(e.Message);
} return dt;
} /// <summary>
/// 执行非查询命令
/// </summary>
/// <param name="cmdText"> 需要执行的命令文本 </param>
/// <returns> 返回更新的行数 </returns>
public int ExecuteNonQuery( string cmdText)
{
using (var conn = new SQLiteConnection (ConnectionStr))
{
conn.Open();
var cmd = new SQLiteCommand(conn) {CommandText = cmdText};
var rowsUpdated = cmd.ExecuteNonQuery(); return rowsUpdated;
}
} /// <summary>
/// 执行检索单项命令
/// </summary>
/// <param name="cmdText"> 需要执行的命令文本 </param>
/// <returns> 一个字符串 </returns>
public string ExecuteScalar( string cmdText)
{
using (var conn = new SQLiteConnection (ConnectionStr))
{
conn.Open();
var cmd = new SQLiteCommand(conn) {CommandText = cmdText};
var value = cmd.ExecuteScalar(); if (value != null )
{
return value.ToString();
}
} return "" ;
}
}
}
[C#] 简单的 Helper 封装 -- SQLiteHelper的更多相关文章
- [C#] 简单的 Helper 封装 -- RegularExpressionHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- [C#] 简单的 Helper 封装 -- SecurityHelper 安全助手:封装加密算法(MD5、SHA、HMAC、DES、RSA)
using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Wen. ...
- [C#] 简单的 Helper 封装 -- RandomHelper
using System; namespace Wen.Helpers { /// <summary> /// 随机数助手 /// </summary> public seal ...
- [C#] 简单的 Helper 封装 -- CookieHelper
using System; using System.Web; namespace ConsoleApplication5 { /// <summary> /// Cookie 助手 // ...
- 简单的 Helper 封装 -- CookieHelper
using System; using System.Web; namespace ConsoleApplication5 { /// <summary> /// Cookie 助手 // ...
- 简单的 Helper 封装 -- SecurityHelper 安全助手:封装加密算法(MD5、SHA、HMAC、DES、RSA)
using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Wen. ...
- 超简单的okHttpUtils封装(下)
版权声明:转载请注明出处:http://blog.csdn.net/piaomiao8179 https://blog.csdn.net/piaomiao8179/article/details/ ...
- 简单二次封装的Golang图像处理库:图片裁剪
简单二次封装的Golang图像处理库:图片裁剪 一.功能 Go语言下的官方图像处理库 简单封装后对jpg和png图像进行缩放/裁剪的库 二.使用说明 1.首先下载 go get -v -u githu ...
- 简单方便统一封装的傻瓜式GET/POST库AliasNet正式公布~开源喽~
在进行网页自动化时我们做得最多的工作就是不停的往某个URL GET/POST数据并得到相应的Response,通过分析Response的结果再进行下一步操作,通过网页自动化我们可以做很多工作,比如去某 ...
随机推荐
- 移动先行之谁主沉浮? 带着你的Net飞奔吧!
移动系源码:https://github.com/dunitian/Windows10 移动系文档:https://github.com/dunitian/LoTDotNet/tree/master/ ...
- 获取Canvas当前坐标系矩阵
前言 在我的另一篇博文 Canvas坐标系转换 中,我们知道了所有的平移缩放旋转操作都会影响到画布坐标系.那在我们对画布进行了一系列操作之后,怎么再知道当前矩阵数据状态呢. 具体代码 首先请看下面的一 ...
- 关于 CSS 反射倒影的研究思考
原文地址:https://css-tricks.com/state-css-reflections 译者:nzbin 友情提示:由于演示 demo 的兼容性,推荐火狐浏览.该文章篇幅较长,内容庞杂,有 ...
- CSS样式重置(转)
body,h1,h2,h3,h4,h5,h6,dl,dt,dd,ul,ol,li,th,td,p,blockquote,pre,form,fieldset,legend,input,button,te ...
- 设置line-height:1.5和line-height:150%或者line-height:150px的区别
直接正题: 看一下line-height可能的值: 其实可以分为两类: (1)不带单位的(如line-height:1.5),这种是推荐使用的: (2)带单位的(如line-heigth:30px/1 ...
- vue.js几行实现的简单的todo list
序:目前前端框架如:vue.react.angular,构建工具fis3.gulp.webpack等等...... 可谓是五花八门,层出不穷,眼花缭乱...其实吧只要你想玩还是可以玩玩的..下面是看了 ...
- JavaScript 正则表达式语法
定义 JavaScript定义正则表达式有两种方法. 1.RegExp构造函数 var pattern = new RegExp("[bc]at","i"); ...
- 移动BPM解决方案分享
畅通开放 无边界的渠道 效率倍增 更高效的处理方式 即时共享 更强大的决策能力 各种终端应用 帮您实现:新任务通知.任务预警.催办.任务审批.任何数据汇总提醒消息通知...... 短信 客户端: ...
- android手机登录时遇到“QQ安全登录发现病毒”解决
android手机作为开源系统非常容易感染病毒,有时候我们会经常遇到手机QQ登录时检测到app被感染,一般情况是由手机感染病毒所引起的,安装腾讯管家后只能检测病毒和卸载感染病毒的软件,不能清除病毒.解 ...
- [转载]敏捷开发之Scrum扫盲篇
现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述S ...