发现还写了SqLite的类,,但是主要都写了读,我的数据库里有时间,所以主要就是读一段时间内的

using System;
using System.Data;
using System.Data.SQLite;
namespace ChartDemo
{/// <summary>/// SQLite 操作类/// </summary>public class SqLiteHelper{private string _dbName = "";private SQLiteConnection _SQLiteConn = null;     //连接对象private SQLiteTransaction _SQLiteTrans = null;   //事务对象private bool _IsRunTrans = false;        //事务运行标识private string _SQLiteConnString = null; //连接字符串private bool _AutoCommit = false; //事务自动提交标识      static public string dbPath;static public string table_Path;public string SQLiteConnString{set { this._SQLiteConnString = value; }get { return this._SQLiteConnString; }}public SqLiteHelper(string dbPath){this._dbName = dbPath;this._SQLiteConnString = "Data Source=" + dbPath;}/// <summary>/// 新建数据库文件/// </summary>/// <param name="dbPath">数据库文件路径及名称</param>/// <returns>新建成功,返回true,否则返回false</returns>static public Boolean NewDbFile(string dbPath){try{SQLiteConnection.CreateFile(dbPath);return true;}catch (Exception ex){throw new Exception("新建数据库文件" + dbPath + "失败:" + ex.Message);}}//读取该name的所有数据static public DataSet ReadPart(string name){DataSet ds = new DataSet();try{//打开要连接的数据链接SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);if (sqliteConn.State != System.Data.ConnectionState.Open){int t = 1;sqliteConn.Open();SQLiteCommand cmd = new SQLiteCommand();cmd.Connection = sqliteConn;//sqlite的between.and语句包括between不包括andcmd.CommandText = "SELECT * FROM " + table_Path + " WHERE "+name+"= '" + t + "' ";SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);adapter.Fill(ds);return ds;}else{return null;}}catch (Exception ex){return null;}}//查询不合格产品static public DataSet Readfail(DateTime dt1, DateTime dt2, int dec_type){DataSet ds = new DataSet();try{//打开要连接的数据链接SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);if (sqliteConn.State != System.Data.ConnectionState.Open){string str1 = dt1.ToString("yyyy - MM - dd HH: mm: ss");string str2 = dt2.ToString("yyyy - MM - dd HH: mm: ss");sqliteConn.Open();SQLiteCommand cmd = new SQLiteCommand();cmd.Connection = sqliteConn;//sqlite的between.and语句包括between不包括andcmd.CommandText = "SELECT* FROM " + table_Path + "  WHERE Flag = '" + 0 + "' AND Time >='" + str1 + "' and Time <= '" + str2 + "' and Type='" + dec_type + "'";SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);adapter.Fill(ds);return ds;}else{return null;}}catch (Exception ex){return null;}}/// <summary>/// 查询指定时间内的数据信息/// </summary>/// <param name="dt1"></param>/// <param name="dt2"></param>/// <returns></returns>static public DataSet ReadSelected(DateTime dt1, DateTime dt2, int dec_type){DataSet ds = new DataSet();try{//打开要连接的数据链接SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);if (sqliteConn.State != System.Data.ConnectionState.Open){string str1 = dt1.ToString("yyyy - MM - dd HH: mm: ss");string str2 = dt2.ToString("yyyy - MM - dd HH: mm: ss");sqliteConn.Open();SQLiteCommand cmd = new SQLiteCommand();cmd.Connection = sqliteConn;//sqlite的between.and语句包括between不包括andcmd.CommandText = "SELECT* FROM  " + table_Path + "  WHERE Time >='" + str1 + "' and Time <= '" + str2 + "' and Type='" + dec_type + "' ";SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);adapter.Fill(ds);return ds;}else{return null;}}catch (Exception ex){return null;}}/// <summary>/// 创建表/// </summary>/// <param name="dbPath">指定数据库文件</param>/// <param name="tableName">表名称</param>static public int NewTable(string tableName){//打开要连接的数据链接SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);try{if (sqliteConn.State != System.Data.ConnectionState.Open){sqliteConn.Open();SQLiteCommand cmd = new SQLiteCommand();cmd.Connection = sqliteConn;cmd.CommandText = "CREATE TABLE " + tableName + "(Id int,Data char,Flag int,Time Text,Type int)";cmd.ExecuteNonQuery();}sqliteConn.Close();return 1;}catch (Exception ex){return 0;}}/// <summary>/// 打开当前数据库的连接/// </summary>/// <returns></returns>public Boolean OpenDb(){try{this._SQLiteConn = new SQLiteConnection(this._SQLiteConnString);this._SQLiteConn.Open();return true;}catch (Exception ex){throw new Exception("打开数据库:" + _dbName + "的连接失败:" + ex.Message);}}/// <summary>/// 打开指定数据库的连接/// </summary>/// <param name="dbPath">数据库路径</param>/// <returns></returns>public Boolean OpenDb(string dbPath){try{string sqliteConnString = "Data Source=" + dbPath;this._SQLiteConn = new SQLiteConnection(sqliteConnString);this._dbName = dbPath;this._SQLiteConnString = sqliteConnString;this._SQLiteConn.Open();return true;}catch (Exception ex){throw new Exception("打开数据库:" + dbPath + "的连接失败:" + ex.Message);}}/// <summary>/// 关闭数据库连接/// </summary>public void CloseDb(){if (this._SQLiteConn != null && this._SQLiteConn.State != ConnectionState.Closed){if (this._IsRunTrans && this._AutoCommit){this.Commit();}this._SQLiteConn.Close();this._SQLiteConn = null;}}/// <summary>/// 开始数据库事务/// </summary>public void BeginTransaction(){this._SQLiteConn.BeginTransaction();this._IsRunTrans = true;}/// <summary>/// 开始数据库事务/// </summary>/// <param name="isoLevel">事务锁级别</param>public void BeginTransaction(IsolationLevel isoLevel){this._SQLiteConn.BeginTransaction(isoLevel);this._IsRunTrans = true;}/// <summary>/// 添加数据/// </summary>/// <param name="sqlData"></param>static public void Add(SqlData sqlData){//打开要连接的数据链接SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);if (sqliteConn.State != System.Data.ConnectionState.Open){sqliteConn.Open();SQLiteCommand cmd = new SQLiteCommand();cmd.Connection = sqliteConn;string str1 = sqlData.Time.ToString("yyyy - MM - dd HH: mm: ss");cmd.CommandText = "insert into " + table_Path + "(Id,Data,Flag,Time,Type) values('" + sqlData.id + " ', '" + sqlData.data + "','" + sqlData.flag + "' ,'" + str1 + "' ,'" + sqlData.dect_type + "')";cmd.ExecuteNonQuery();}sqliteConn.Close();}/// <summary>/// 读取一段id之间的数据/// </summary>/// <param name="ini"></param>/// <param name="end"></param>/// <returns></returns>static public DataSet ReadData(int ini, int end){DataSet ds = new DataSet();try{//打开要连接的数据链接SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);if (sqliteConn.State != System.Data.ConnectionState.Open){string poi = ini.ToString();string mo = end.ToString();sqliteConn.Open();SQLiteCommand cmd = new SQLiteCommand();cmd.Connection = sqliteConn;//sqlite的between.and语句包括between不包括andcmd.CommandText = "SELECT* FROM" + table_Path + "WHERE Id >= '" + ini + "' and Id <= '" + end + "'";SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);adapter.Fill(ds);return ds;}else{return null;}}catch (Exception ex){return null;}}/// <summary>/// 读取一段时间内的数据/// </summary>/// <param name="dt1"></param>/// <param name="dt2"></param>/// <returns></returns>static public DataSet ReadOneday(DateTime dt1, DateTime dt2){DataSet ds = new DataSet();try{//打开要连接的数据链接SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);if (sqliteConn.State != System.Data.ConnectionState.Open){string str1 = dt1.ToString("yyyy - MM - dd HH: mm: ss");string str2 = dt2.ToString("yyyy - MM - dd HH: mm: ss");sqliteConn.Open();SQLiteCommand cmd = new SQLiteCommand();cmd.Connection = sqliteConn;cmd.CommandText = "SELECT* FROM" + table_Path + "WHERE Time >='" + str2 + "' and Time <= '" + str1 + "'";SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);adapter.Fill(ds);return ds;}else{return null;}}catch (Exception ex){return null;}}/// <summary>/// 读取数据库中的表名/// </summary>/// <returns></returns>static public DataSet ReadTableName(){DataSet ds = new DataSet();try{//打开要连接的数据链接SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);if (sqliteConn.State != System.Data.ConnectionState.Open){sqliteConn.Open();SQLiteCommand cmd = new SQLiteCommand();cmd.Connection = sqliteConn;cmd.CommandText = "SELECT * FROM sqlite_master WHERE type='table' order by name";SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);adapter.Fill(ds);return ds;}else{return null;}}catch (Exception ex){return null;}}/// <summary>/// 读取数据/// </summary>/// <param name="id"></param>/// <returns></returns>static public string ReadDate(int id){DataSet ds = new DataSet();try{//打开要连接的数据链接SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);if (sqliteConn.State != System.Data.ConnectionState.Open){sqliteConn.Open();SQLiteCommand cmd = new SQLiteCommand();cmd.Connection = sqliteConn;cmd.CommandText = "SELECT* FROM" + table_Path + "WHERE Id = '" + id + "' ";SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);adapter.Fill(ds);return (ds.Tables[0].Rows[0][3]).ToString();}else{return null;}}catch (Exception ex){return null;}}/// <summary>/// 读取表的长度/// </summary>/// <returns></returns>static public int DataLength(){DataSet ds = new DataSet();try{//打开要连接的数据链接SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);if (sqliteConn.State != System.Data.ConnectionState.Open){sqliteConn.Open();SQLiteCommand cmd = new SQLiteCommand();cmd.Connection = sqliteConn;cmd.CommandText = "SELECT * FROM " + table_Path;SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);adapter.Fill(ds);return ds.Tables[0].Rows.Count;}else{return 0;}}catch (Exception ex){return 0;}}/// <summary>/// 删除表/// </summary>static public void dropTable(string str){try{//打开要连接的数据链接SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);if (sqliteConn.State != System.Data.ConnectionState.Open){sqliteConn.Open();SQLiteCommand cmd = new SQLiteCommand();cmd.Connection = sqliteConn;cmd.CommandText = "drop table " + str;int I = cmd.ExecuteNonQuery();}else{return;}}catch (Exception ex){return;}}/// <summary>/// 提交当前挂起的事务/// </summary>public void Commit(){if (this._IsRunTrans){this._SQLiteTrans.Commit();this._IsRunTrans = false;}}}}

sqLite数据库读C#相关推荐

  1. python读数据库的通信协议是,Python操作SQLite数据库过程解析

    SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统. 不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分.所以主要的通信协 ...

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

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

  3. Android数据库 之 SQLite数据库

    一.关系型数据库SQLIte 每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的.与操作系统无关的SQL数据库-SQLite.SQLite第一个Alpha版本诞生于20 ...

  4. 使用嵌入式关系型SQLite数据库存储数据

    除了可以使用文件或SharedPreferences存储数据,还可以选择使用SQLite数据库存储数据. 在Android平台上,集成了一个嵌入式关系型数据库-SQLite,SQLite3支持 NUL ...

  5. Android中关于SQLite数据库的一些知识

    使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库-SQLite,SQLite3支持 NULL.INTEGER.REAL(浮点数字).TEXT(字符串文本 ...

  6. golang sqlite数据库 rows.Close()造成 错误database is locked

    在最近的一个程序中,使用的是sqlite数据库.涉及到多线程对数据库的读写.因为sqlite本身有五个锁状态:unlocked,shared,reserved,pending,exclusive.每个 ...

  7. android SQLite数据库(转)

    Android数据库 之 SQLite数据库 Android数据库  一.关系型数据库SQLIte 每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的.与操作系统无关的 ...

  8. Android SQLite数据库的详细使用

    SQLite 简介 SQLite 是一款内置到移动设备上的轻量型的数据库,是遵守ACID(原子性.一致性.隔离性.持久性)的关联式数据库管理系统,多用于嵌入式系统中 SQLite 数据库是无类型的,可 ...

  9. Android SQLite数据库增删改查操作

    一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符 ...

  10. 简述sqlite数据库的特点_为什么要用SQLITE?SQLITE数据库优点和缺点分析

    <为什么要用SQLITE?SQLITE数据库优点和缺点分析>要点: 本文介绍了为什么要用SQLITE?SQLITE数据库优点和缺点分析,希望对您有用.如果有疑问,可以联系我们. SQLIT ...

最新文章

  1. oracle查找重复记录
  2. JavaWeb学习笔记28--Filter高级开发
  3. ArcGIS API for JavaScript Bookmarks(书签)
  4. C#Redis哈希Hashes
  5. 大疆口袋相机美颜怎么设置_大疆口袋小相机DJI Pocket 2套装版深度评测:变成生产力工具...
  6. 驻定相位原理(POSP)以及线性调频信号的频谱
  7. Oracle数据表中输入引号等特殊字符
  8. 论文浅尝 | 混合注意力原型网络的含噪音少样本的关系分类
  9. oracle修改字符集
  10. mysql 冗余外键 同步_由于外键约束导致mysql同步出问题的故障
  11. python输入时间限制_用Python计算用户输入时间
  12. 第四章 consul cluster
  13. Javascript特效:普通轮播图
  14. 表格里加横线一分为二_excel表格分割线一分为二斜线
  15. 如何截图一张完整的表_wps2016表格太长怎么截图打印?
  16. 康师傅被“水和面”糊住了眼睛?
  17. 【Android】DatePicker时间选择器
  18. android型号手机怎么截图,安卓手机怎么截图 手机截图超简单图文教程
  19. 磁盘被写保护无法使用怎么办?
  20. 《当下的启蒙》的概述和精华

热门文章

  1. Linux文件压缩命令
  2. linux libodbc.so.1,关于C#:Testprintenv:加载共享库时出错:libodbc.so.1:无法打开共享对象文件...
  3. 一元初始,森罗万象:5G角逐已被荣耀拉开序幕
  4. 微星 B450M MORTAR 盲刷BIOS
  5. 阿里巴巴的矢量图标之字体图标
  6. HTML5 通过Vedio标签实现视频循环播放
  7. 解决IndentationError:unindent与任何外部缩进级别都不匹配
  8. 八类网线测试仪之深入探讨-AEM
  9. WPS:添加公式后,行间距变宽的解决方法
  10. Linux进程管理和怎样布置定时任务