Sqlite 帮助类 SQLiteHelper
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Sqlite 帮助类 SQLiteHelper,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含14356字,纯文字阅读大概需要21分钟。
内容图文
///源码下载地址:http://download.csdn.net/detail/kehaigang29/8836171
///<summary>/// 本类为SQLite数据库帮助静态类,使用时只需直接调用即可,无需实例化 ///</summary>publicstaticclass SQLiteHelper { ///<summary>/// 数据库连接字符串 ///</summary>publicstaticstring connectionString = "Data Source=" + Application.StartupPath + "\\" + System.Configuration.ConfigurationSettings.AppSettings["Contr"]; #region 执行数据库操作(新增、更新或删除),返回影响行数 ///<summary>/// 执行数据库操作(新增、更新或删除) ///</summary>///<param name="cmd">SqlCommand对象</param>///<returns>所受影响的行数</returns>publicstaticint ExecuteNonQuery(SQLiteCommand cmd) { int result = 0; if (connectionString == null || connectionString.Length == 0) thrownew ArgumentNullException("connectionString"); using (SQLiteConnection con = new SQLiteConnection(connectionString)) { SQLiteTransaction trans = null; PrepareCommand(cmd, con, ref trans, true, cmd.CommandType, cmd.CommandText); try { result = cmd.ExecuteNonQuery(); trans.Commit(); } catch (Exception ex) { trans.Rollback(); throw ex; } } return result; } ///<summary>/// 执行数据库操作(新增、更新或删除) ///</summary>///<param name="commandText">执行语句或存储过程名</param>///<param name="commandType">执行类型(默认语句)</param>///<returns>所受影响的行数</returns>publicstaticint ExecuteNonQuery(string commandText, CommandType commandType = CommandType.Text) { int result = 0; if (connectionString == null || connectionString.Length == 0) thrownew ArgumentNullException("connectionString"); if (commandText == null || commandText.Length == 0) thrownew ArgumentNullException("commandText"); SQLiteCommand cmd = new SQLiteCommand(); using (SQLiteConnection con = new SQLiteConnection(connectionString)) { SQLiteTransaction trans = null; PrepareCommand(cmd, con, ref trans, true, commandType, commandText); try { result = cmd.ExecuteNonQuery(); trans.Commit(); } catch (Exception ex) { trans.Rollback(); throw ex; } } return result; } ///<summary>/// 执行数据库操作(新增、更新或删除) ///</summary>///<param name="commandText">执行语句或存储过程名</param>///<param name="commandType">执行类型(默认语句)</param>///<param name="cmdParms">SQL参数对象</param>///<returns>所受影响的行数</returns>publicstaticint ExecuteNonQuery(string commandText, CommandType commandType = CommandType.Text, params SQLiteParameter[] cmdParms) { int result = 0; if (connectionString == null || connectionString.Length == 0) thrownew ArgumentNullException("connectionString"); if (commandText == null || commandText.Length == 0) thrownew ArgumentNullException("commandText"); SQLiteCommand cmd = new SQLiteCommand(); using (SQLiteConnection con = new SQLiteConnection(connectionString)) { SQLiteTransaction trans = null; PrepareCommand(cmd, con, ref trans, true, commandType, commandText,cmdParms); try { result = cmd.ExecuteNonQuery(); trans.Commit(); } catch (Exception ex) { trans.Rollback(); throw ex; } } return result; } #endregion#region 执行数据库操作(新增、更新或删除)同时返回执行后查询所得的第1行第1列数据 ///<summary>/// 执行数据库操作(新增、更新或删除)同时返回执行后查询所得的第1行第1列数据 ///</summary>///<param name="cmd">SqlCommand对象</param>///<returns>查询所得的第1行第1列数据</returns>publicstaticobject ExecuteScalar(SQLiteCommand cmd) { object result = 0; if (connectionString == null || connectionString.Length == 0) thrownew ArgumentNullException("connectionString"); using (SQLiteConnection con = new SQLiteConnection(connectionString)) { SQLiteTransaction trans = null; PrepareCommand(cmd, con, ref trans, true, cmd.CommandType, cmd.CommandText); try { result = cmd.ExecuteScalar(); trans.Commit(); } catch (Exception ex) { trans.Rollback(); throw ex; } } return result; } ///<summary>/// 执行数据库操作(新增、更新或删除)同时返回执行后查询所得的第1行第1列数据 ///</summary>///<param name="commandText">执行语句或存储过程名</param>///<param name="commandType">执行类型(默认语句)</param>///<returns>查询所得的第1行第1列数据</returns>publicstaticobject ExecuteScalar(string commandText, CommandType commandType = CommandType.Text) { object result = 0; if (connectionString == null || connectionString.Length == 0) thrownew ArgumentNullException("connectionString"); if (commandText == null || commandText.Length == 0) thrownew ArgumentNullException("commandText"); SQLiteCommand cmd = new SQLiteCommand(); using (SQLiteConnection con = new SQLiteConnection(connectionString)) { SQLiteTransaction trans = null; PrepareCommand(cmd, con, ref trans, true, commandType, commandText); try { result = cmd.ExecuteScalar(); trans.Commit(); } catch (Exception ex) { trans.Rollback(); throw ex; } } return result; } ///<summary>/// 执行数据库操作(新增、更新或删除)同时返回执行后查询所得的第1行第1列数据 ///</summary>///<param name="commandText">执行语句或存储过程名</param>///<param name="commandType">执行类型(默认语句)</param>///<param name="cmdParms">SQL参数对象</param>///<returns>查询所得的第1行第1列数据</returns>publicstaticobject ExecuteScalar(string commandText, CommandType commandType = CommandType.Text, params SQLiteParameter[] cmdParms) { object result = 0; if (connectionString == null || connectionString.Length == 0) thrownew ArgumentNullException("connectionString"); if (commandText == null || commandText.Length == 0) thrownew ArgumentNullException("commandText"); SQLiteCommand cmd = new SQLiteCommand(); using (SQLiteConnection con = new SQLiteConnection(connectionString)) { SQLiteTransaction trans = null; PrepareCommand(cmd, con, ref trans, true, commandType, commandText, cmdParms); try { result = cmd.ExecuteScalar(); trans.Commit(); } catch (Exception ex) { trans.Rollback(); throw ex; } } return result; } #endregion#region 执行数据库查询,返回SqlDataReader对象 ///<summary>/// 执行数据库查询,返回SqlDataReader对象 ///</summary>///<param name="cmd">SqlCommand对象</param>///<returns>SqlDataReader对象</returns>publicstatic DbDataReader ExecuteReader(SQLiteCommand cmd) { DbDataReader reader = null; if (connectionString == null || connectionString.Length == 0) thrownew ArgumentNullException("connectionString"); SQLiteConnection con = new SQLiteConnection(connectionString); SQLiteTransaction trans = null; PrepareCommand(cmd, con, ref trans, false, cmd.CommandType, cmd.CommandText); try { reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); } catch (Exception ex) { throw ex; } return reader; } ///<summary>/// 执行数据库查询,返回SqlDataReader对象 ///</summary>///<param name="commandText">执行语句或存储过程名</param>///<param name="commandType">执行类型(默认语句)</param>///<returns>SqlDataReader对象</returns>publicstatic DbDataReader ExecuteReader(string commandText, CommandType commandType = CommandType.Text) { DbDataReader reader = null; if (connectionString == null || connectionString.Length == 0) thrownew ArgumentNullException("connectionString"); if (commandText == null || commandText.Length == 0) thrownew ArgumentNullException("commandText"); SQLiteConnection con = new SQLiteConnection(connectionString); SQLiteCommand cmd = new SQLiteCommand(); SQLiteTransaction trans = null; PrepareCommand(cmd, con, ref trans, false, commandType, commandText); try { reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); } catch (Exception ex) { throw ex; } return reader; } ///<summary>/// 执行数据库查询,返回SqlDataReader对象 ///</summary>///<param name="commandText">执行语句或存储过程名</param>///<param name="commandType">执行类型(默认语句)</param>///<param name="cmdParms">SQL参数对象</param>///<returns>SqlDataReader对象</returns>publicstatic DbDataReader ExecuteReader(string commandText, CommandType commandType = CommandType.Text, params SQLiteParameter[] cmdParms) { DbDataReader reader = null; if (connectionString == null || connectionString.Length == 0) thrownew ArgumentNullException("connectionString"); if (commandText == null || commandText.Length == 0) thrownew ArgumentNullException("commandText"); SQLiteConnection con = new SQLiteConnection(connectionString); SQLiteCommand cmd = new SQLiteCommand(); SQLiteTransaction trans = null; PrepareCommand(cmd, con, ref trans, false, commandType, commandText, cmdParms); try { reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); } catch (Exception ex) { throw ex; } return reader; } #endregion#region 执行数据库查询,返回DataSet对象 ///<summary>/// 执行数据库查询,返回DataSet对象 ///</summary>///<param name="cmd">SqlCommand对象</param>///<returns>DataSet对象</returns>publicstatic DataSet ExecuteDataSet(SQLiteCommand cmd) { DataSet ds = new DataSet(); SQLiteConnection con = new SQLiteConnection(connectionString); SQLiteTransaction trans = null; PrepareCommand(cmd, con, ref trans, false, cmd.CommandType, cmd.CommandText); try { SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd); sda.Fill(ds); } catch (Exception ex) { throw ex; } finally { if (cmd.Connection != null) { if (cmd.Connection.State == ConnectionState.Open) { cmd.Connection.Close(); } } } return ds; } ///<summary>/// 执行数据库查询,返回DataSet对象 ///</summary>///<param name="commandText">执行语句或存储过程名</param>///<param name="commandType">执行类型(默认语句)</param>///<returns>DataSet对象</returns>publicstatic DataSet ExecuteDataSet(string commandText, CommandType commandType = CommandType.Text) { if (connectionString == null || connectionString.Length == 0) thrownew ArgumentNullException("connectionString"); if (commandText == null || commandText.Length == 0) thrownew ArgumentNullException("commandText"); DataSet ds = new DataSet(); SQLiteConnection con = new SQLiteConnection(connectionString); SQLiteCommand cmd = new SQLiteCommand(); SQLiteTransaction trans = null; PrepareCommand(cmd, con, ref trans, false, commandType, commandText); try { SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd); sda.Fill(ds); } catch (Exception ex) { throw ex; } finally { if (con != null) { if (con.State == ConnectionState.Open) { con.Close(); } } } return ds; } ///<summary>/// 执行数据库查询,返回DataSet对象 ///</summary>///<param name="commandText">执行语句或存储过程名</param>///<param name="commandType">执行类型(默认语句)</param>///<param name="cmdParms">SQL参数对象</param>///<returns>DataSet对象</returns>publicstatic DataSet ExecuteDataSet(string commandText, CommandType commandType = CommandType.Text, params SQLiteParameter[] cmdParms) { if (connectionString == null || connectionString.Length == 0) thrownew ArgumentNullException("connectionString"); if (commandText == null || commandText.Length == 0) thrownew ArgumentNullException("commandText"); DataSet ds = new DataSet(); SQLiteConnection con = new SQLiteConnection(connectionString); SQLiteCommand cmd = new SQLiteCommand(); SQLiteTransaction trans = null; PrepareCommand(cmd, con, ref trans, false, commandType, commandText, cmdParms); try { SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd); sda.Fill(ds); } catch (Exception ex) { throw ex; } finally { if (con != null) { if (con.State == ConnectionState.Open) { con.Close(); } } } return ds; } #endregion#region 执行数据库查询,返回DataTable对象 ///<summary>/// 执行数据库查询,返回DataTable对象 ///</summary>///<param name="commandText">执行语句或存储过程名</param>///<param name="commandType">执行类型(默认语句)</param>///<returns>DataTable对象</returns>publicstatic DataTable ExecuteDataTable(string commandText, CommandType commandType = CommandType.Text) { if (connectionString == null || connectionString.Length == 0) thrownew ArgumentNullException("connectionString"); if (commandText == null || commandText.Length == 0) thrownew ArgumentNullException("commandText"); DataTable dt = new DataTable(); SQLiteConnection con = new SQLiteConnection(connectionString); SQLiteCommand cmd = new SQLiteCommand(); SQLiteTransaction trans = null; PrepareCommand(cmd, con, ref trans, false, commandType, commandText); try { SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd); sda.Fill(dt); } catch (Exception ex) { throw ex; } finally { if (con != null) { if (con.State == ConnectionState.Open) { con.Close(); } } } return dt; } #endregion#region 通用分页查询方法 ///<summary>/// 通用分页查询方法 ///</summary>///<param name="tableName">表名</param>///<param name="strColumns">查询字段名</param>///<param name="strWhere">where条件</param>///<param name="strOrder">排序条件</param>///<param name="pageSize">每页数据数量</param>///<param name="currentIndex">当前页数</param>///<param name="recordOut">数据总量</param>///<returns>DataTable数据表</returns>publicstatic DataTable SelectPaging(string tableName, string strColumns, string strWhere, string strOrder, int pageSize, int currentIndex, outint recordOut) { DataTable dt = new DataTable(); recordOut = Convert.ToInt32(ExecuteScalar("select count(*) from " + tableName, CommandType.Text)); string pagingTemplate = "select {0} from {1} where {2} order by {3} limit {4} offset {5} "; int offsetCount = (currentIndex - 1) * pageSize; string commandText = String.Format(pagingTemplate, strColumns, tableName, strWhere, strOrder, pageSize.ToString(), offsetCount.ToString()); using (DbDataReader reader = ExecuteReader(commandText, CommandType.Text)) { if (reader != null) { dt.Load(reader); } } return dt; } #endregion#region 预处理Command对象,数据库链接,事务,需要执行的对象,参数等的初始化 ///<summary>/// 预处理Command对象,数据库链接,事务,需要执行的对象,参数等的初始化 ///</summary>///<param name="cmd">Command对象</param>///<param name="conn">Connection对象</param>///<param name="trans">Transcation对象</param>///<param name="useTrans">是否使用事务</param>///<param name="cmdType">SQL字符串执行类型</param>///<param name="cmdText">SQL Text</param>///<param name="cmdParms">SQLiteParameters to use in the command</param>privatestaticvoid PrepareCommand(SQLiteCommand cmd, SQLiteConnection conn, ref SQLiteTransaction trans, bool useTrans, CommandType cmdType, string cmdText, params SQLiteParameter[] cmdParms) { if (conn.State != ConnectionState.Open) conn.Open(); cmd.Connection = conn; cmd.CommandText = cmdText; if (useTrans) { trans = conn.BeginTransaction(IsolationLevel.ReadCommitted); cmd.Transaction = trans; } cmd.CommandType = cmdType; if (cmdParms != null) { foreach (SQLiteParameter parm in cmdParms) cmd.Parameters.Add(parm); } } #endregion }
原文:http://www.cnblogs.com/ManchesterUnitedFootballClub/p/4598839.html
内容总结
以上是互联网集市为您收集整理的Sqlite 帮助类 SQLiteHelper全部内容,希望文章能够帮你解决Sqlite 帮助类 SQLiteHelper所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。