A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

对SQLite数据库进行增删改查操作的时候用的方法都在里面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SQLite;
using System.Data;
using System.Data.Common;
namespace GXSPrg.SQLHelp
{
     /// <summary>
     /// 本类为SQLite数据库帮助静态类,使用时只需直接调用即可,无需实例化
    /// </summary>
     public static class SQLiteHelper
     {
         public static SQLiteConnection con = null;
         public static SQLiteTransaction trans = null;
         public static void getConInstance(string connectionString)
         {
             if (con == null)
             {
                 con = new SQLiteConnection(connectionString);
             }
             if (con.State == ConnectionState.Closed)
             {
                 con.Open();
             }
         }
         #region ExecuteNonQuery
         /// <summary>
         /// 执行数据库操作(新增、更新或删除)
         /// </summary>
         /// <param name="connectionString">连接字符串</param>
         /// <param name="cmd">SqlCommand对象</param>
         /// <returns>所受影响的行数</returns>
         public static int ExecuteNonQuery(SQLiteCommand cmd)
         {
             Boolean isOk;
             int result = 0;
             if (trans == null)
             {
                 isOk = true;
             }
             else
             {
                 isOk = false;
             }
             PrepareCommand(cmd, con, ref trans, isOk, cmd.CommandType, cmd.CommandText);
             try
             {
                 result = cmd.ExecuteNonQuery();
             }
             catch (Exception ex)
             {
                 throw ex;
             }
             return result;
         }
         /// <summary>
         /// 执行数据库操作(新增、更新或删除)
         /// </summary>
         /// <param name="connectionString">连接字符串</param>
         /// <param name="commandText">执行语句或存储过程名</param>
         /// <param name="commandType">执行类型</param>
         /// <returns>所受影响的行数</returns>
         public static int ExecuteNonQuery(string connectionString, string commandText, CommandType commandType)
         {
             int result = 0;
             if (connectionString == null || connectionString.Length == 0)
                 throw new ArgumentNullException("connectionString");
             if (commandText == null || commandText.Length == 0)
                 throw new ArgumentNullException("commandText");
             SQLiteCommand cmd = new SQLiteCommand();
             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="connectionString">连接字符串</param>
         /// <param name="commandText">执行语句或存储过程名</param>
         /// <param name="commandType">执行类型</param>
         /// <param name="cmdParms">SQL参数对象</param>
         /// <returns>所受影响的行数</returns>
         public static int ExecuteNonQuery(string connectionString, string commandText, CommandType commandType, params SQLiteParameter[] cmdParms)
         {
             int result = 0;
             if (connectionString == null || connectionString.Length == 0)
                 throw new ArgumentNullException("connectionString");
             if (commandText == null || commandText.Length == 0)
                 throw new ArgumentNullException("commandText");
             SQLiteCommand cmd = new SQLiteCommand();
             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;
         }
         #endregion
         #region ExecuteScalar
         /// <summary>
         /// 执行数据库操作(新增、更新或删除)同时返回执行后查询所得的第1行第1列数据
        /// </summary>
         /// <param name="connectionString">连接字符串</param>
         /// <param name="cmd">SqlCommand对象</param>
         /// <returns>查询所得的第1行第1列数据</returns>
         public static object ExecuteScalar(string connectionString, SQLiteCommand cmd)
         {
             object result = 0;
             if (connectionString == null || connectionString.Length == 0)
                 throw new ArgumentNullException("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="connectionString">连接字符串</param>
         /// <param name="commandText">执行语句或存储过程名</param>
         /// <param name="commandType">执行类型</param>
         /// <returns>查询所得的第1行第1列数据</returns>
         public static object ExecuteScalar(string connectionString, string commandText, CommandType commandType)
         {
             object result = 0;
             if (connectionString == null || connectionString.Length == 0)
                 throw new ArgumentNullException("connectionString");
             if (commandText == null || commandText.Length == 0)
                 throw new ArgumentNullException("commandText");
             SQLiteCommand cmd = new SQLiteCommand();
             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;
         }
     }
}

SQLiteHelper.rar

2.23 KB, 下载次数: 164

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马