sqlite幫助類

using System;


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


namespace SQLiteTest
{
    public class SQLiteHelper : IDisposable
    {
        private SQLiteConnection connection;
        private SQLiteCommand SqliteCommand;
        private string connectionString;




        public SQLiteCommand command { get { return SqliteCommand; } }




        public SQLiteHelper() { }
        public SQLiteHelper(string AconnectionString)
        {
            connectionString = AconnectionString;
        }




        #region Open/Close
        public void Open()
        {
            try
            {
                connection = new SQLiteConnection(connectionString);
                SqliteCommand = connection.CreateCommand();
                SqliteCommand.Connection = connection;
                SqliteCommand.CommandType = CommandType.Text;




                connection.Open();
            }
            catch (DataException e)
            {
                Console.WriteLine(e.Message);
            }
        }




        public void Close()
        {
            connection.Close();
            connection.Dispose();
        }




        public void Dispose()
        {
            connection.Close();
            connection.Dispose();
            SqliteCommand.Dispose();
        }
        #endregion




        #region Operatons
        public SQLiteDataReader ExecuteReader(string ASql)
        {
            SqliteCommand.CommandText = ASql;
            SQLiteDataReader reader = null;
            try
            {
                reader = SqliteCommand.ExecuteReader();
            }
            catch (DataException e)
            {
                Console.WriteLine(e.Message);
            }
            return reader;
        }




        public DataSet ExecuteDataSet(string ASql)
        {
            SqliteCommand.CommandText = ASql;
            SQLiteDataAdapter adapter = new SQLiteDataAdapter(SqliteCommand);
            DataSet ds = new DataSet(); ;




            try
            {
                adapter.Fill(ds);
            }
            catch (DataException e)
            {
                Console.WriteLine(e.Message);
            }
            return ds;
        }




        public DataTable ExecuteDataTable(string ASql)
        {
            SqliteCommand.CommandText = ASql;
            SQLiteDataAdapter adapter = new SQLiteDataAdapter(SqliteCommand);
            DataTable dt = new DataTable(); ;




            try
            {
                adapter.Fill(dt);
            }
            catch (DataException e)
            {
                Console.WriteLine(e.Message);
            }
            return dt;
        }




        public int ExecuteNonQuery(string ASql)
        {
            SqliteCommand.CommandText = ASql;
            int result = -1;




            try
            {
                result = SqliteCommand.ExecuteNonQuery();
            }
            catch (DataException e)
            {
                Console.WriteLine(e.Message);




            }
            return result;
        }




        public object ExecuteScalar(string ASql)
        {
            SqliteCommand.CommandText = ASql;
            object o = null;
            try
            {
                o = SqliteCommand.ExecuteScalar();
            }
            catch (DataException e)
            {
                Console.WriteLine(e.Message);
            }
            return o;
        }
        #endregion




        #region Transaction
        public void BeginTransaction()
        {
            SqliteCommand.Transaction = connection.BeginTransaction();
        }




        public void CommitTransaction()
        {
            SqliteCommand.Transaction.Commit();
        }




        public void RollbackTransaction()
        {
            SqliteCommand.Transaction.Rollback();
        }
        #endregion


        public IDataParameter CreateParamter(string AParamName,string AValue)
        {
            return new System.Data.SQLite.SQLiteParameter(AParamName, AValue);
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章