SqliteHelper

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SQLite;
using System.Configuration;

namespace DAL
{
    public class SqliteHelper
    {
        //获取连接字符串
        private static readonly string str = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;

        /// <summary>
        /// 做增删改的功能
        /// </summary>
        /// <param name="sql">SQL语句</param>
        /// <param name="ps">SQL语句中的参数</param>
        /// <returns>受影响的行数</returns>
        public static int ExecuteNonQuery(string sql, params SQLiteParameter[] ps)
        {
            //连接数据库
            using (SQLiteConnection con=new SQLiteConnection(str))
            {
                using (SQLiteCommand cmd =new SQLiteCommand(sql,con))
                {
                    con.Open();//打开数据库
                    if (ps!=null)
                    {
                        cmd.Parameters.AddRange(ps);//参数,加集合(ps)
                    }
                    return cmd.ExecuteNonQuery();
                }
            }
        }
        
        /// <summary>
        /// 查询首行首列
        /// </summary>
        /// <param name="sql">SQL语句</param>
        /// <param name="ps">SQL语句的参数</param>
        /// <returns>返回首行首列object</returns>
        public static object ExecuteScalar(string sql, params SQLiteParameter[] ps)
        {
            using (SQLiteConnection con=new SQLiteConnection(str))
            {
                using (SQLiteCommand cmd=new SQLiteCommand(sql,con))
                {
                    con.Open();
                    if (ps!=null)
                    {
                        cmd.Parameters.AddRange(ps);
                    }
                    return cmd.ExecuteScalar();
                }
            }
        }

        /// <summary>
        /// 查询多行
        /// </summary>
        /// <param name="sql">SQL语句</param>
        /// <param name="ps">SQL语句的参数</param>
        /// <returns>返回多行SQLiteDataReader</returns>
        public static SQLiteDataReader ExecuteReader(string sql, params SQLiteParameter[] ps)
        {
            SQLiteConnection con = new SQLiteConnection(str);
            using (SQLiteCommand cmd=new SQLiteCommand(sql,con))
            {
                if (ps!=null)
                {
                    cmd.Parameters.AddRange(ps);
                }
                try
                {
                    con.Open();
                    return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
                }
                catch (Exception ex)
                {
                    con.Close();
                    con.Dispose();
                    throw ex;
                }
            }
        }

        /// <summary>
        /// 查询数据表
        /// </summary>
        /// <param name="sql">SQL语句</param>
        /// <param name="ps">SQL语句中的参数</param>
        /// <returns>返回表DataTable</returns>
        public static DataTable ExecuteTable(string sql, params SQLiteParameter[] ps)
        {
            DataTable dt = new DataTable();
            using (SQLiteDataAdapter sda=new SQLiteDataAdapter(sql,str))
            {
                if (ps!=null)
                {
                    sda.SelectCommand.Parameters.AddRange(ps);
                }
                sda.Fill(dt);
                return dt;
            }
        }


    }
}

 

posted @ 2016-12-09 10:41  影落明湖  阅读(636)  评论(0编辑  收藏  举报