DB通用类:Sqlite通用类库

     Sqlite通用类库

     

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SQLite;
using System.Windows.Forms;

namespace CommonLib
{
    public static class DB_Sqlite
    {
        public static void CreateDB(string datasource,ArrayList sqlList)
        {
            if ((datasource == null) || (datasource == "") || (datasource.Length <= 0))
            {
                MessageBox.Show("数据库名不能为空");
                return;
            }
            if ((sqlList == null) || (sqlList.Count <= 0))
            {
                MessageBox.Show("创建数据库表的语句不能为空");
                return;
            }

            try
            {
                if (!File.Exists(@datasource))
                {
                    System.Data.SQLite.SQLiteConnection.CreateFile(datasource);
                    System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();
                    System.Data.SQLite.SQLiteConnectionStringBuilder connstr = new System.Data.SQLite.SQLiteConnectionStringBuilder();
                    connstr.DataSource = datasource;
                    //connstr.Password = "";//设置密码,SQLite ADO.NET实现了数据库密码保护
                    conn.ConnectionString = connstr.ToString();
                    conn.Open();
                    System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand();

                    foreach(Object OO in sqlList)
                    {
                        cmd.CommandText = OO.ToString();
                        cmd.Connection = conn;
                        cmd.ExecuteNonQuery();
                    }
                    conn.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("SQLite数据库:" + ex.ToString());
            }
        }
        public static Int32 Fun_ExeUpdate(string strSql, string datasource)
        {
            Int32 nExcnt = 0;
            try
            {
                System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();
                System.Data.SQLite.SQLiteConnectionStringBuilder connstr = new System.Data.SQLite.SQLiteConnectionStringBuilder();
                conn = new System.Data.SQLite.SQLiteConnection();
                connstr = new System.Data.SQLite.SQLiteConnectionStringBuilder();
                connstr.DataSource = datasource;
                //connstr.Password = "";//设置密码,SQLite ADO.NET实现了数据库密码保护

                conn.ConnectionString = connstr.ToString();
                conn.Open();
                System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand(conn);
                cmd.CommandText = strSql;
                nExcnt = cmd.ExecuteNonQuery();
                cmd.Dispose();
                conn.Close();
                #region 已经注释的代码
                //using (SQLiteConnection connection = new SQLiteConnection(connstr.ToString ()))
                //{
                //    connection.Open();
                //    using (SQLiteCommand command=new SQLiteCommand (strSql ,connection  ))
                //    {
                //        command.ExecuteNonQuery();
                //        command.Dispose();

                //    } 

                //    connection.Close();

                //} 
                #endregion
            }
            catch (Exception ex)
            {
                MessageBox.Show("SQLite数据库:" + ex.ToString());
            }
            return nExcnt;
        }

        public static Object Fun_ExeScaler(string strSql, string datasource)
        {
            Object nExcnt = 0;
            try
            {
                System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();
                System.Data.SQLite.SQLiteConnectionStringBuilder connstr = new System.Data.SQLite.SQLiteConnectionStringBuilder();
                conn = new System.Data.SQLite.SQLiteConnection();
                connstr = new System.Data.SQLite.SQLiteConnectionStringBuilder();
                connstr.DataSource = datasource;
                //connstr.Password = "";//设置密码,SQLite ADO.NET实现了数据库密码保护

                conn.ConnectionString = connstr.ToString();
                conn.Open();
                System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand(conn);
                cmd.CommandText = strSql;
                nExcnt = cmd.ExecuteScalar();
                cmd.Dispose();
                conn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("SQLite数据库:" + ex.ToString());
            }
            return nExcnt;
        }

        public static Int32 Fun_ExeUpdate_TR(ref ArrayList strColl, string datasource)
        {
            Int32 nExcnt = 0;
            SQLiteTransaction tran = null;
            try
            {
                System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();
                System.Data.SQLite.SQLiteConnectionStringBuilder connstr = new System.Data.SQLite.SQLiteConnectionStringBuilder();
                connstr.DataSource = datasource;
                //connstr.Password = "";//设置密码,SQLite ADO.NET实现了数据库密码保护
                conn.ConnectionString = connstr.ToString();
                conn.Open();
                System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand(conn);
                tran = conn.BeginTransaction();
                cmd.Transaction = tran;
                foreach (object obj in strColl)
                {
                    cmd.CommandText = obj.ToString();
                    cmd.ExecuteNonQuery();
                }
                tran.Commit();
            }
            catch
            {
                tran.Rollback();
            }

            return nExcnt;
        }

        public static DataTable Fun_Quary(string strsql, string datasource)
        {
            DataTable data = new DataTable();
            try
            {
                System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();
                System.Data.SQLite.SQLiteConnectionStringBuilder connstr = new System.Data.SQLite.SQLiteConnectionStringBuilder();

                conn = new System.Data.SQLite.SQLiteConnection();
                connstr = new System.Data.SQLite.SQLiteConnectionStringBuilder();
                connstr.DataSource = datasource;
                //connstr.Password = "";//设置密码,SQLite ADO.NET实现了数据库密码保护
                conn.ConnectionString = connstr.ToString();
                conn.Open();
                System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand(conn);
                cmd.CommandText = strsql;
                SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);
                adapter.Fill(data);
                cmd.Dispose();
                conn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("SQLite数据库:" + ex.ToString());
            }
            return data;
        }
    }
}

 

转载于:https://www.cnblogs.com/hhhh2010/p/6557141.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值