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 <= ))
{
MessageBox.Show("数据库名不能为空");
return;
}
if ((sqlList == null) || (sqlList.Count <= ))
{
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 = ;
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 = ;
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 = ;
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;
}
}
}

DB通用类:Sqlite通用类库的更多相关文章

  1. DB通用类:SQL Server 通用类库

    SQLServer通用类A using System; using System.Data; using System.Data.SqlClient; using System.Collections ...

  2. mongdo通用类(C#版)

    日前从公司离职,很快,还没休息就步入了现在的公司,开始跟着公司的脚步走. 公司的项目基本都是大数据的,所以在数据库上大部分都是使用Mongodb和Redis,基本都是Nosql型的数据库为主.以前自己 ...

  3. Django 1.6 基于类的通用视图

    Django 1.6 基于类的通用视图 最初 django 的视图都是用函数实现的,后来开发出一些通用视图函数,以取代某些常见的重复性代码.通用视图就像是一些封装好的处理器,使用它们的时候只须要给出特 ...

  4. Django子应用里的通用类混合视图处理

    # 子应用的views.py此文件用于编写Web应用视图,处理复杂的业务逻辑 #导入方法视图模板 from django.shortcuts import render #导包 from django ...

  5. 15类Android通用流行框架

    15类Android通用流行框架 Android流行框架 缓存 DiskLruCache Java实现基于LRU的磁盘缓存 图片加载 Android Universal Image Loader 一个 ...

  6. 用基于类的通用视图处理表单(Class-based generic views)

    处理表单通常包含3步: 初始化GET(空白的后者预填充的表单) POST非法数据(通常重新显示带有错误信息的表单) POST合法数据(提交数据并重定向) 为了将你从这些烦人的重复步骤中解救出来,Dja ...

  7. poi导出excel通用类

    一.关键的通用类public class PoiExportUtils {    private static HSSFWorkbook workBook; public PoiExportUtils ...

  8. NPOI MVC 模型导出Excel通用类

    通用类: public enum DataTypeEnum { Int = , Float = , Double = , String = , DateTime = , Date = } public ...

  9. MVC NPOI Linq导出Excel通用类

    之前写了一个模型导出Excel通用类,但是在实际应用中,可能不是直接导出模型,而是通过Linq查询后获取到最终结果再导出 通用类: public enum DataTypeEnum { Int = , ...

随机推荐

  1. operator 重载内置运算符

    operator 关键字来重载内置运算符,或提供类或结构声明中的用户定义转换.它可以定义不同类型之间采用何种转化方式和转化的结果. operator用于定义类型转化时可采用2种方式,隐式转换(impl ...

  2. 【KiCad】 如何给元件给元件的管脚加上划线?

    如何给元件给元件的管脚加上划线? 在一线元件需要注明一些引脚是低电位使能的. 比如这样. 每款 EDA 软件有不同的做法,有的是在前后使用 /,有的是给每个字母加上 /. KiCad 不一样,使用的是 ...

  3. 学习笔记:Javascript 变量 包装对象

    学习笔记:Javascript 变量 包装对象 如下代码,可以输出字符的长度. var str = "Tony"; str.length; 这时再试试以下代码,返回是 undefi ...

  4. zabbix--3.0--1

    实验环境 实验用2到2台机器,实验所用机器系统环境如下,可以看到2台机器的主机名和IP地址 [root@linux-node1 ~]# cat /etc/redhat-release CentOS L ...

  5. gevent原理

    未看 http://blog.csdn.net/yueguanghaidao/article/details/24281751

  6. 读懂 PetaLinux:让 Linux 在 Zynq 上轻松起“跑”(转)

    对于Zynq这样一个“ARM+可编程逻辑”异构处理系统我们已经不陌生,其创新性大家也有目共睹.不过想要让更多的应用享受到这一“创新”带来的红利,让其真正“落地”则需要大量系统性的工作,去营造一个完善的 ...

  7. LOJ 3055 「HNOI2019」JOJO—— kmp自动机+主席树

    题目:https://loj.ac/problem/3055 先写了暴力.本来想的是 n<=300 的那个在树上暴力维护好整个字符串, x=1 的那个用主席树维护好字符串和 nxt 数组.但 x ...

  8. Cordova+Angularjs+Ionic 混合开发入门讲解

    作为一名学习Android开发的学生,对于移动开发的发展趋势颇为关注,大家都知道,现在原生的移动开发在企业上基本很少使用了,大部分企业为了降低成本,选择了webapp,hybrid(混合开发)这两种模 ...

  9. 通过IOCTL_ATA_PASS_THROUGH访问ATA设备接口

    控制代码功能:像ATA硬盘发送ATA指令.IDE/ATA:接口,一个串行,一个并行,一般叫做IDE接口的硬盘和ATA接口的硬盘.ATA指令:可以操作ATA硬盘的指令. typedef struct _ ...

  10. DHCP : 网络世界身份的获取

    DHCP 协议 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)前身是 BOOTP 协议,是一个局域网的网络协议.它是一种 服务器- 客户端 的工作 ...