SQLiteDatabase.cs
2016-06-01 08:52
246 查看
using System; using System.Data;// DataTable using System.Data.SQLite; using System.IO; // SQLiteConnection,SQLiteCommand,SQLiteDataReader /// <summary> /// SQLiteDatabase 的摘要说明 /// </summary> public class SQLiteDatabase { #region 变量 private SQLiteConnection _dbConnection; #endregion #region 属性 public string FileName { get; set; } public string DataSource => $"Data Source={FileName};Version=3;"; #endregion #region 实例化 private static SQLiteDatabase _instance; public static SQLiteDatabase Instance => _instance ?? (_instance = new SQLiteDatabase()); public SQLiteDatabase() { FileName = "SQLite.s3db"; } public SQLiteDatabase(string fileName) { FileName = fileName; } #endregion public void Open() { if (!File.Exists(FileName)) SQLiteConnection.CreateFile(FileName); _dbConnection = new SQLiteConnection(DataSource); _dbConnection.Open(); } public void Close() { _dbConnection.Close(); } public DataTable GetDataTable(string sql) { var dt = new DataTable(); try { var cmd = new SQLiteCommand(_dbConnection) { CommandText = sql }; var dr = cmd.ExecuteReader(); dt.Load(dr); dr.Close(); } catch { // ignored } return dt; } public int Perform(string sql) { var result = -1; try { var cmd = new SQLiteCommand(_dbConnection) { CommandText = sql }; result = cmd.ExecuteNonQuery(); } catch { // ignored } return result; } public bool Perform(string sql, out string err) { var result = false; err = null; try { var cmd = new SQLiteCommand(_dbConnection) { CommandText = sql }; cmd.ExecuteNonQuery(); result = true; } catch (Exception ex) { err = ex.Message; } return result; } public string Query(string sql) { string result = null; try { var cmd = new SQLiteCommand(_dbConnection) { CommandText = sql }; result = cmd.ExecuteScalar().ToString(); } catch { // ignored } return result; } }
相关文章推荐
- oracle11g在Server08R2服务器上安装部署常见问题
- 【MongoDB】Mongodb集群搭建的三种方式
- Mybatis插入MySQL数据库中文乱码
- Mybatis插入MySQL数据库中文乱码
- 文档数据库RavenDB-介绍与初体验
- mac版MySQL修改root密码
- QSqlRelationalTableModel的Select语句会改变列的名字
- redis的基本数据类型及基本操作(一)
- 使用MYSQL实现Oracle的Start with...Connect By递归树查询
- 关于Memcache mutex设计模式的.net实现
- Discuz!NT中的Redis架构设计
- 使用ServiceStackRedis链接Redis简介
- Redis简单使用
- 基于MongoDB分布式存储进行MapReduce并行查询
- pl/sql存储过程的递归调用,树形数据的展示
- 数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
- Mac下MySql卸载方法
- 再谈SQL优化:组合索引
- 基于Ardb/Redis构建基于位置实时服务
- 将ipdata.dat 数据集导入 mysql 中并获取sql文件