• c# 操作sqlite 数据库的类,


    c# 操作sqlite 数据库的类,绝对原创
    2010-05-29 17:31

    using System;
    using System.Text;
    using System.Data;
    using System.Data.SQLite;

    namespace WQ.SQLite.DataBase
    {

    //如果不会怎么调用,请联系开发作者QQ:13164946

    //作者:epe521 Eml:epe521@qq.com


        public class SQLiteDataBase : IDisposable
        {
            SQLiteConnection conn;
            private int iTimeOut = 30;
            private string strErro;
            private string connStr;

            public SQLiteDataBase(string _connString)
            {
                connStr = _connString;
            }

            private SQLiteCommand CreateCommand( string sqlString)
            {
                this.Open(connString);
                SQLiteCommand command = new SQLiteCommand(sqlString, this.conn);
                command.CommandTimeout = this.TimeOut;
                command.CommandType = CommandType.Text;
                command.CommandText = sqlString;
                return command;
            }

            public bool ExcQuery(string sqlString)
            {
                try
                {
                    SQLiteCommand command = new SQLiteCommand(sqlString, new SQLiteConnection(connString));
                    command.Connection.Open();
                    command.ExecuteNonQuery();
                    command.Connection.Close();
                    return true;
                }
                catch (Exception exception)
                {
                    this.strErro = exception.ToString();
                    return false;
                }
            }

            public DataTable GetDataTable(string sqlString)
            {
                try
                {
                    SQLiteConnection selectConnection = new SQLiteConnection(connString);
                    SQLiteDataAdapter adapter = new SQLiteDataAdapter(sqlString, selectConnection);
                    DataSet dataSet = new DataSet();
                    adapter.Fill(dataSet, "myTable");
                    return dataSet.Tables["myTable"];
                }
                catch (Exception exception)
                {
                    this.strErro = sqlString + "\n" + exception.Message;
                    return null;
                }
            }

            public bool GetDataTable(string sqlString, ref DataTable DataTable)
            {
                try
                {
                    SQLiteConnection selectConnection = new SQLiteConnection(connString);
                    SQLiteDataAdapter adapter = new SQLiteDataAdapter(sqlString, selectConnection);
                    DataSet dataSet = new DataSet();
                    adapter.Fill(dataSet, "myTable");
                    DataTable = dataSet.Tables["myTable"];
                    return true;
                }
                catch (Exception exception)
                {
                    this.strErro = sqlString + "\n" + exception.Message;
                    return false;
                }
            }


            public bool GetDataTable( string sqlString, SQLiteParameter[] pa, ref DataTable dt)
            {
                try
                {
                    SQLiteConnection selectConnection = new SQLiteConnection(connString);
                    SQLiteDataAdapter adapter = new SQLiteDataAdapter(sqlString, selectConnection);
                    DataSet dataSet = new DataSet();
                    for (int i = 0; i < pa.Length; i++)
                    {
                        adapter.SelectCommand.Parameters.Add(pa[i]);
                    }
                    adapter.Fill(dataSet, "myTable");
                    dt = dataSet.Tables["myTable"];
                    return true;
                }
                catch (Exception exception)
                {
                    this.strErro = sqlString + "\n" + exception.Message;
                    return false;
                }
            }

            public bool GetDataTable(string sqlString, int pageIndex, int maxRecords, ref DataTable DataTable)
            {
                try
                {
                    SQLiteConnection selectConnection = new SQLiteConnection(connString);
                    SQLiteDataAdapter adapter = new SQLiteDataAdapter(sqlString, selectConnection);
                    DataSet dataSet = new DataSet();
                    adapter.Fill(dataSet, pageIndex, maxRecords, "myTable");
                    DataTable = dataSet.Tables["myTable"];
                    return true;
                }
                catch (Exception exception)
                {
                    this.strErro = sqlString + "\n" + exception.Message;
                    return false;
                }
            }

            public string GetOneValue(string sqlString, SQLiteParameter[] pa)
            {
                SQLiteCommand command = new SQLiteCommand(sqlString, new SQLiteConnection(connString));
                for (int i = 0; i < pa.Length; i++)
                {
                    command.Parameters.Add(pa[i]);
                }
                command.Connection.Open();
                string str = command.ExecuteScalar().ToString();
                command.Connection.Close();
                return str;
            }

            public string GetOneValue(string connString, string sqlString)
            {
                SQLiteCommand command = this.CreateCommand( sqlString);
                string str = command.ExecuteScalar().ToString();
                command.Connection.Close();
                return str;
            }

            private void Open(string _connectionString)
            {
                if (this.conn == null)
                {
                    this.conn = new SQLiteConnection(_connectionString);
                    this.conn.Open();
                }
                else if (this.conn.State != ConnectionState.Open)
                {
                    this.conn.Open();
                }
            }


            public void Close()
            {
                if (this.conn != null)
                {
                    this.conn.Close();
                }
                else if (this.conn.State == ConnectionState.Open)
                {
                    this.conn.Close();
                }
            }

            public void Dispose()
            {
                if (this.conn != null)
                {
                    this.conn.Dispose();
                    this.conn = null;
                }
            }

            public string ErrString
            {
                get
                {
                    return this.strErro;
                }
            }

            private string connString
            {
                get
                {
                    return this.connStr;
                }
                set
                {
                    this.connStr = value;
                }
            }

            public int TimeOut
            {
                get
                {
                    return this.iTimeOut;
                }
                set
                {
                    this.iTimeOut = value;
                }
            }

        }
    }

    还有SQL操作类,功能绝对强大。有需要请hi我

  • 相关阅读:
    智慧城市建设中政府网站群建设起到了积极的作用
    SQLite 入门教程(四)增删改查,有讲究 (转)
    基于H.264的实时网络摄像——Android客户端
    中小型数据存储方案探讨
    SQL的多表操作
    lua中的时间函数
    C++ 输入输出文件流(ifstream&ofstream)
    linux系统下的shell脚本
    makefile的简单写法
    Linux-ubuntu
  • 原文地址:https://www.cnblogs.com/longshen/p/1752186.html
Copyright © 2020-2023  润新知