帮助类

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SQLite;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;namespace hepuUpload
{public class SqliteHelp{public string ConnectString { get; set; }public SqliteHelp(string sqlStr){ConnectString = sqlStr;}//创建数据库文件public static void CreateDBFile(string fileName){string path = System.Environment.CurrentDirectory + @"/Data/";if (!Directory.Exists(path)){Directory.CreateDirectory(path);}string databaseFileName = path + fileName;if (!File.Exists(databaseFileName)){SQLiteConnection.CreateFile(databaseFileName);}} //生成连接字符串private string CreateConnectionString(){SQLiteConnectionStringBuilder connectionString = new SQLiteConnectionStringBuilder();connectionString.DataSource = ConnectString;string conStr = connectionString.ToString();return conStr;}/// <summary>/// 对插入到数据库中的空值进行处理/// </summary>/// <param name="value"></param>/// <returns></returns>public object ToDbValue(object value){if (value == null){return DBNull.Value;}else{return value;}}/// <summary>/// 对从数据库中读取的空值进行处理/// </summary>/// <param name="value"></param>/// <returns></returns>public object FromDbValue(object value){if (value == DBNull.Value){return null;}else{return value;}}/// <summary>/// 执行非查询的数据库操作/// </summary>/// <param name="sqlString">要执行的sql语句</param>/// <param name="parameters">参数列表</param>/// <returns>返回受影响的条数</returns>public int ExecuteNonQuery(string sqlString, params SQLiteParameter[] parameters){string connectionString = CreateConnectionString();using (SQLiteConnection conn = new SQLiteConnection(connectionString)){conn.Open();using (SQLiteCommand cmd = conn.CreateCommand()){cmd.CommandText = sqlString;//foreach (SQLiteParameter parameter in parameters)//{//    cmd.Parameters.Add(parameter);//}return cmd.ExecuteNonQuery();}}}/// <summary>/// 执行非查询的数据库操作    批量操作    增加事务/// </summary>/// <param name="sqlString">要执行的sql语句</param>/// <returns>返回受影响的条数</returns>public bool ExecuteNonQuery(List<string> sqlString){string connectionString = CreateConnectionString();using (SQLiteConnection conn = new SQLiteConnection(connectionString)){conn.Open();using (SQLiteCommand cmd = conn.CreateCommand()){using (SQLiteTransaction transaction = conn.BeginTransaction()){cmd.Transaction = transaction;//cmd.CommandText = sqlString;//return cmd.ExecuteNonQuery();try{for (int n = 0; n < sqlString.Count; n++){string StrSql = sqlString[n].ToString();if (StrSql.Trim().Length > 1){cmd.CommandText = StrSql;cmd.ExecuteNonQuery();}}transaction.Commit();}catch (Exception ex){Debug.WriteLine("ExcuteSqlTran" + ex.Message);transaction.Rollback();return false;}finally{if (conn.State != ConnectionState.Closed){conn.Close();}}}}return true;}}/// <summary>/// 执行查询并返回查询结果第一行第一列/// </summary>/// <param name="sqlString">SQL语句</param>/// <param name="sqlparams">参数列表</param>/// <returns></returns>public int ExecuteScalar(string sqlString, params SQLiteParameter[] parameters){string connectionString = CreateConnectionString();using (SQLiteConnection conn = new SQLiteConnection(connectionString)){conn.Open();using (SQLiteCommand cmd = conn.CreateCommand()){cmd.CommandText = sqlString;//foreach (SQLiteParameter parameter in parameters)//{//    cmd.Parameters.Add(parameter);//}return int.Parse(cmd.ExecuteScalar().ToString());}}}/// <summary>/// 查询多条数据/// </summary>/// <param name="sqlString">SQL语句</param>/// <param name="parameters">参数列表</param>/// <returns>返回查询的数据表</returns>public DataTable GetDataTable(string sqlString, params SQLiteParameter[] parameters){string connectionString = CreateConnectionString();using (SQLiteConnection conn = new SQLiteConnection(connectionString)){conn.Open();using (SQLiteCommand cmd = conn.CreateCommand()){cmd.CommandText = sqlString;//foreach (SQLiteParameter parameter in parameters)//{//    cmd.Parameters.Add(parameter);//}DataSet ds = new DataSet();SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);adapter.Fill(ds);return ds.Tables[0];}}}}
}

sqlhelp(sqlite)相关推荐

  1. android数据库isnull,Android中SQLite数据库知识点总结

    SQLite 数据库简介 SQLite 是一个轻量级数据库,它是D. Richard Hipp建立的公有领域项目,在2000年发布了第一个版本.它的设计目标是嵌入式的,而且占用资源非常低,在内存中只需 ...

  2. C++ VS2013环境编译使用sqlite数据库全过程

    转载:http://www.cnblogs.com/imoon/archive/2012/11/30/2796726.html 转载:https://blog.csdn.net/hjm4702192/ ...

  3. iOS开发-xcdatamodeld文件 CoreData的介绍和使用,sqlite的使用

    CoreData的介绍和使用  源引:http://www.jianshu.com/p/d027090af00e CoreData是数据存储的一种方式,CoreData实质也是对SQLite的封装. ...

  4. node sqlite 插入数据_安卓手机中的应用数据都保存在哪些文件中?

    随笔 知识 案例 声音 其他 编者按 手机取证,品牌是一方面,从操作系统入手是另外一个渠道.手机中的重要数据基本上都以轻量数据库的形式保存在本地,也就是经常讲的sqlite db文件中. 从推特上得知 ...

  5. android数据库降级_Android SQLite (二.数据库创建,升级及降级)

    上篇文章简介和常用语法介绍了SQLite数据库的基本信息和一些常用的语法操作,本篇文章主要介绍Android开发过程中SQLite数据库的创建使用和常见问题处理. 一.SQLiteOpenHelper ...

  6. android 数据库索引,SQLite数据库提供警告自动索引(列)升级Android L后

    我已经升级了我的Nexus 7与Android 5.0 Lollipop,之前,我的应用程序运行良好与SQLite数据库,但现在每当我执行任何类型的查询,它给我log cat错误,如: 12-09 1 ...

  7. Android客户端开发—数据库SQLite基本语句

    之前接触过一点MySQL数据库方面的知识,现在在学习Android软件开发过程中发现SQLite语句与MySQL的语句还是有部分不同,SQLite中的命令不算太多,可以在adb shell中进入App ...

  8. Android SQLite数据库之事务的学习

    SQLite是Android系统内置的一款轻量级的关系型数据库,它的运算速度非常快,占用资源很少,通常只需要几百K的内存就足够了.SQLite不仅支持标准的SQL语法,还遵循了数据库的ACID事务. ...

  9. 基础学习总结(四)--SQLite

    1. SQLiteDatabase 操作SQLite数据库的类.可以执行SQL语句,对数据库进行增.删.查.改的操作.也可以进行transaction的控制.很多类对数据库的操作最终都是通过SQLit ...

  10. 操作SQLite数据库

    本文摘自: http://docs.blackberry.com/en/developers/deliverables/25108/Creating_and_deleting_SQLite_datab ...

最新文章

  1. Servlet—08—ServletContext; Servlet Config;
  2. boost::contract模块实现虚拟可选结果的测试程序
  3. 4_InfluxDB学习之InfluxDB的基本概念、InfluxDB中独有的概念(Point,series),InfluxDB学习之InfluxDB的基本操作,InfluxDB操作方式,crud
  4. ubuntu16.04 配置nginx支持redis
  5. .Net Core with 微服务 - 分布式事务 - 2PC、3PC
  6. 牛客16494 生活大爆炸版石头剪刀布
  7. 工信部:三大运营商移动电话用户总数达15.92亿户 同比增长0.2%
  8. VS2012编译文件报错——error LNK2001: 无法解析的外部符号 __imp___CrtDbgReportW
  9. voronoi图代码_在Unity中实时计算Voronoi图
  10. sysctl.conf 参数相关注解
  11. 打包fpm mysql_fpm制做mysql-5.6.33 rpm包
  12. 最新敏感词库/违禁词检测接口,可接入文章发布
  13. [免费专栏] Android安全之绕过SSL Pinning抓HTTPS数据
  14. 利用快速傅里叶计算多项式相乘
  15. 计算机软件系统配置,电脑配置修改_电脑配置修改软件
  16. 手动卸数+传输文件+入库
  17. 华为交换机批量处理端口
  18. Neo4j安装及简单使用
  19. 三创赛历年优秀作品资料整理
  20. 选择结构——判断3或7的倍数

热门文章

  1. 数据挖掘-----Apriori算法
  2. 数论基础——素数判断约数枚举整数分解(模板)
  3. ACM中一些细节问题
  4. git 公钥提交代码_Git自由之章 - 关于SSH 公钥
  5. 房子怎么拆除_新规,可能拆除农村这4类房子,每户家庭可能获得40万
  6. 防火墙是linux配置,linux配置iptables防火墙
  7. 专业网站设计的实施步骤及有关疑难问题汇编
  8. 韩城市财政局党委举办“信心比金子还重要”演讲赛-渤锐软件提供相关软件支持
  9. LLDB使用详解以及断点调试教程
  10. 《OpenStack实战指南》—— 1.4 OpenStack与CloudStack的比较