SQLiteHelper封装辅助类

 <connectionStrings>
    <add name="SQLiteConnectionString" connectionString="Data Source=test.db;version=3;" />
  </connectionStrings>
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.Entity.Infrastructure;
using System.Data.SqlClient;
using System.Data.SQLite;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SQLiteHelper
{
    public static class SQLiteHelper
    {
        //设置连接字符串
        private static readonly string connectionString = ConfigurationManager.ConnectionStrings["SQLiteConnectionString"].ConnectionString;
        //封装executeNonQuery

        /// 
        /// 执行增删改的语句
        /// 
        /// sql语句
        /// 参数
        /// 
        public static int ExecuteNonQuery(string sql, params SQLiteParameter[] pms)
        {
            using (SQLiteConnection conn = new SQLiteConnection(connectionString))
            {
                using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
                {
                    if (pms != null)
                    {
                        cmd.Parameters.AddRange(pms);
                    }
                    conn.Open();

                    return cmd.ExecuteNonQuery();

                }
                
            }
        
        }
        /// 
        /// 返回单个值
        /// 
        /// sql语句
        /// 参数
        /// 
        public static object ExecuteScaler(string sql, params SQLiteParameter[] pms)
        {
            using (SQLiteConnection conn = new SQLiteConnection(connectionString))
            {
                using (SQLiteCommand cmd = new SQLiteCommand(sql,conn))
                {
                    if (pms !=null)
                    {
                        cmd.Parameters.AddRange(pms);
                    }
                    conn.Open();
                    return cmd.ExecuteScalar();


                }
                
            }
        }
        /// 
        /// ExecuteReader,记得USING SQLITEDATAREADER
        /// 
        /// 
        /// 
        /// 
        public static SQLiteDataReader ExecuteReader(string sql, params SQLiteParameter[] pms)
        {
            //reader方法不要将connect-using 否则在跳出静态类时,会close和dispose conn对象,造成外界无法调用reader对象
            SQLiteConnection conn = new SQLiteConnection(connectionString);
            using (SQLiteCommand cmd = new SQLiteCommand(sql,conn))
            {
                if (pms!=null)
                {
                    cmd.Parameters.AddRange(pms);
                }
                try
                {
                    conn.Open();
                    return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

                }
                catch (Exception)
                {
                    conn.Close();
                    conn.Dispose();

                    throw;
                }
            }
        }

        /// 
        /// SQLiteDataAdapter
        /// 
        /// 
        /// 
        /// 
        public static DataTable SQLiteDataAdapter(string sql, params SQLiteParameter[] pms)
        {
            DataTable dt = new DataTable();
            using (SQLiteDataAdapter da = new SQLiteDataAdapter(sql, connectionString))
            
            {
                if (pms!=null)
                {
                    da.SelectCommand.Parameters.AddRange(pms);
                }
                da.Fill(dt);
            }
            return dt;
        }

    }
}

你可能感兴趣的:(SQLite)