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中找到,具体步骤 ...
随机推荐
- App Store兼容性问题
app下载出现兼容性问题 项目支持9.0以上的系统 但是10.3的iphone5下载的一直是老版本app 下载时提示不兼容 导致无法正常使用 解决办法: 修改Build-Settings-> ...
- CSS3 动画 思维导图
思维导图在新窗口打开浏览
- ArcGIS Javascript API 加载高德在线地图扩展
利用ArcGIS JavaScript API加载高德在线地图的扩展 /** * Created by WanderGIS on 2015/7/15. */ define(["dojo/_b ...
- MVC 返回json数据
使用 return Json(pageList, JsonRequestBehavior.AllowGet); 返回object 使用 return Content(JsonConvert.Seria ...
- 如何修改wifi为家庭网络
一不小心手快,把新链接的 wifi 选择成“公用网络”了,使用过程中导致某些应用无法联网,那个恨呐!!! 幸好,咱们可以进行手工更改,哈哈,跟哥一起来操作: 进入”网络与共享中心界面": 选 ...
- Teradata在大数据管理与分析领域连续18年评测排名第一
Gartner 魔力象限介绍 Gartner(高德纳)全球最具权威的IT市场研究与顾问咨询公司,他总是不停地推出IT行业的各种报告以及著名的Gartner魔力象限. Gartner魔力象限通常从两个方 ...
- P1422 小玉家的电费
... 题目描述 夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了.小玉家今天收到了一份电费通知单.小玉看到上面写:据闽价电[2006]27号规定,月用电量在150千瓦时及以下部分按每千 ...
- Hibernate 事务和并发控制
首先关于Hibernate事务控制,下面是非常权威的资料, https://docs.jboss.org/hibernate/orm/4.0/devguide/en-US/html/ch02.html ...
- 《代码敲不队》第八次团队作业:Alpha冲刺 第三天
项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 代码敲不队 作业学习目标 掌握软件编码实现的工程要求. 团队项目github仓库地址链接 GitH ...
- ZOJ 3891 K-hash
K-hash Time Limit: 2000ms Memory Limit: 131072KB This problem will be judged on ZJU. Original ID: 38 ...