SQLiteHelp
using System;using System.Collections.Generic;using System.Text;using System.Data.SQLite;using System.Data;namespace MySQLiteDemo{public class SqliteHelper{private string _connectString = string.Empty;public string ConnectString{get { return _connectString; }set { _connectString = value; }}/// <summary>/// 检测/// </summary>/// <returns></returns>public static bool TestLite(string strConn){SQLiteConnection conn = new SQLiteConnection(strConn);conn.Open();if (conn.State != ConnectionState.Open){return false;}return true;}/// <summary>/// 获取数据/// </summary>/// <returns></returns>public DataTable GetData(string strSql){return GetData(strSql, null);}/// <summary>/// 获取数据/// </summary>/// <returns></returns>public DataTable GetData(string strSql, SQLiteParameter[] cmdParams){using (SQLiteConnection con = new SQLiteConnection(_connectString)){try{SQLiteCommand cmd = new SQLiteCommand(strSql, con);if (cmdParams != null){foreach (SQLiteParameter param in cmdParams){cmd.Parameters.Add(param);}}con.Open();DataTable ret = new DataTable();SQLiteDataAdapter ad = new SQLiteDataAdapter(cmd);ad.Fill(ret);return ret;}catch (SQLiteException ex){throw new Exception(ex.Message);}}}/// <summary>/// 获取SQLiteDataReader/// </summary>/// <returns></returns>public SQLiteDataReader GetReader(string strSql){return GetReader(strSql, null);}/// <summary>/// 执行带参数的查询语句,返回SQLiteDataReader ( 注意:调用该方法后,一定要对SQLiteDataReader进行Close )/// </summary>/// <param name="strSQL">查询语句</param>/// <returns>SqlDataReader</returns>public SQLiteDataReader GetReader(string strSql, params SQLiteParameter[] cmdParms){using (SQLiteConnection con = new SQLiteConnection(_connectString)){try{SQLiteCommand cmd = new SQLiteCommand(strSql, con);if (cmdParms != null){foreach (SQLiteParameter param in cmdParms){cmd.Parameters.Add(param);}}con.Open();SQLiteDataReader myReader = cmd.ExecuteReader();cmd.Parameters.Clear();return myReader;}catch (SQLiteException ex){throw new Exception(ex.Message);}}}/// <summary>/// 执行语句/// </summary>/// <param name="sql"></param>/// <returns></returns>public int ExecuteSql(string strSql){using (SQLiteConnection con = new SQLiteConnection(_connectString)){try{SQLiteCommand cmd = new SQLiteCommand(strSql, con);con.Open();return cmd.ExecuteNonQuery();}catch (SQLiteException ex){throw new Exception(ex.Message);}}}/// <summary>/// 执行语句/// </summary>/// <param name="sql"></param>/// <returns></returns>public int ExecuteSql(string strSql, SQLiteParameter[] cmdParams){using (SQLiteConnection con = new SQLiteConnection(_connectString)){try{SQLiteCommand cmd = new SQLiteCommand(strSql, con);if (cmdParams != null){foreach (SQLiteParameter param in cmdParams){cmd.Parameters.Add(param);}}con.Open();int rows = cmd.ExecuteNonQuery();cmd.Parameters.Clear();return rows;}catch (SQLiteException ex){throw new Exception(ex.Message);}}}/// <summary>/// 获取当前第一行第一列值/// </summary>/// <param name="strsql"></param>/// <param name="cmdParams"></param>/// <returns></returns>public object GetSingle(string strSql){return GetSingle(strSql, null);}/// <summary>/// 获取当前第一行第一列值/// </summary>/// <param name="strsql"></param>/// <param name="cmdParams"></param>/// <returns></returns>public object GetSingle(string strSql, SQLiteParameter[] cmdParams){using (SQLiteConnection con = new SQLiteConnection(_connectString)){try{SQLiteCommand cmd = new SQLiteCommand(strSql, con);if (cmdParams != null){foreach (SQLiteParameter param in cmdParams){cmd.Parameters.Add(param);}}con.Open();return cmd.ExecuteScalar();}catch (SQLiteException ex){throw new Exception(ex.Message);}}}/// <summary>/// 页级操作/// </summary>/// <param name="sql"></param>/// <param name="startRecord"></param>/// <param name="maxRecord"></param>/// <returns></returns>public DataTable FindByPaging(string strSql, SQLiteParameter[] cmdParams, int startRecord, int maxRecord){using (SQLiteConnection con = new SQLiteConnection(_connectString)){try{SQLiteCommand cmd = new SQLiteCommand(strSql + " LIMIT " + +startRecord + "," + maxRecord, con);if (cmdParams != null){foreach (SQLiteParameter param in cmdParams){cmd.Parameters.Add(param);}}con.Open();DataTable ret = new DataTable();SQLiteDataAdapter ad = new SQLiteDataAdapter(cmd);ad.Fill(ret);return ret;}catch (SQLiteException ex){throw new Exception(ex.Message);}}}/// <summary>/// 启用事务./// </summary>/// <param name="objTrans"></param>/// <returns></returns>public SQLiteTransaction BeginSQLTrans(){SQLiteConnection con = new SQLiteConnection(_connectString);con.Open();return con.BeginTransaction();}/// <summary>/// 执行语句/// </summary>/// <param name="strSql"></param>/// <param name="cmdParams"></param>/// <param name="trans"></param>/// <returns></returns>public int ExecuteSql(string strSql, SQLiteTransaction trans){return ExecuteSql(strSql, null, trans);}/// <summary>/// 执行语句/// </summary>/// <param name="strSql"></param>/// <param name="cmdParams"></param>/// <param name="trans"></param>/// <returns></returns>public int ExecuteSql(string strSql, SQLiteParameter[] cmdParams, SQLiteTransaction trans){int ret = 0;using (SQLiteCommand cmd = new SQLiteCommand(strSql, trans.Connection)){try{if (cmdParams != null){foreach (SQLiteParameter param in cmdParams){cmd.Parameters.Add(param);}}if (trans != null)cmd.Transaction = trans;ret = cmd.ExecuteNonQuery();}catch (SQLiteException ex){throw ex;}catch (Exception ex){throw ex;}}return ret;}}}
SQLiteHelp的更多相关文章
- [android] SQLite 数据库的升级 和 降级
public class SqliteHelp extends SQLiteOpenHelper { /* * context:创建数据库所需的 上下文对象 * name: 数据库名字 * facto ...
- 要知道的DbProviderFactory
了解DbProviderFactory 前不久想使用下EF的通用单表增删改的特性,当时使用控制台做测试,怎么弄都没成功,原因出在app.config中,反而在mvc项目中,就没有任何问题.在反复的更改 ...
- Unity3D 使用SQLite
使用Unity操作SQLite,需要用到三个库文件,分别是Mono.Data.Sqlite.dll和System.Data.dll和Sqlite3.dll,前两个库文件可以在unity中找到,具体步骤 ...
随机推荐
- V4L2框架之视频监控
[参考]韦东山 教学视频 一. V4L2框架: video for linux version 2 虚拟视频驱动vivi.c分析:1.分配video_device2.设置3.注册:video_regi ...
- 详解sqlserver查询表索引
SELECT 索引名称=a.name ,表名=c.name ,索引字段名=d.name ,索引字段位置=d.colid ? 1 2 3 4 5 6 7 8 FROM sysindexes a ...
- VHDL_LIB之DFF
1 D-Flip-Flop with async reset or set library IEEE; use ieee.std_logic_1164.all; entity FFD is gener ...
- Xcode8 NSLog打印json不完整的解决方案
解决方案:自定义宏,通过fprintf函数打印log,完美解决! #ifdef DEBUG #define NSLog(FORMAT, ...) fprintf(stderr, "%s:%z ...
- ES : 软件工程学的复杂度理论及物理学解释
系统论里面总是有一些通用的专业术语 比如复杂度.熵.焓,复杂度专门独立出来,成为复杂度理论 文章摘抄于:<非线性动力学> 刘秉政 编著 5.5 复杂性及其测度 热力学的几个专业术语 熵. ...
- js 获取 下拉框的值
//错误 console.log($("#DictID").select.val()); //错误 console.log($("#DictID").selec ...
- 优动漫PAINT(clip studio paint)怎么画一幅水墨竹子图
今天小编分享使用优动漫PAINT绘制一个水墨竹子教程,绘画的过程中我只用到了两个笔刷,即钢笔模式下的“美术字”和“效果线专用”,并且全程鼠标绘制哦,所以生疏的笔触效果大家见谅,没有数位板的小伙伴不妨试 ...
- spring helloword
控制反转: Inversion on Control , 控制反转 IOC 对象的创建交给外部容器完成,这个就做控制反转. 依赖注入, dependency injection 处理对象的依赖关系 ...
- Elasticsearch 入门 - Modifying Your Data
index/update/delete 均有大概1秒的缓存时间 Indexing/Replacing Documents curl -X PUT "localhost:9200/custom ...
- maven tomcat 插件
在 pom.xml 中添加如下内容 <!-- 配置 tomcat 插件 --> <build> <plugins> <plugin> <group ...