1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.SQLite;
  5.  
  6. namespace EasyEnergy.AppLogicService
  7. {
  8. public class AlarmSqliteDbHelp
  9. {
  10.  
  11. public static string ConnSqlLiteDbPath = @"D:\data\test.data";
  12.  
  13. public static string ConnString
  14. {
  15. get
  16. {
  17. return string.Format("Data Source={0}", ConnSqlLiteDbPath);
  18. }
  19. }
  20.  
  21. public static int ExecuteRefId(string sql)
  22. {
  23. SQLiteConnection connection;
  24. SQLiteTransaction transaction = null;
  25. try
  26. {
  27. connection = new SQLiteConnection(ConnString);
  28. connection.Open();
  29. var command = new SQLiteCommand(connection)
  30. {
  31. CommandText = sql + ";SELECT last_insert_rowid()"
  32. };
  33. return Convert.ToInt32(command.ExecuteScalar());
  34. }
  35. catch (Exception)
  36. {
  37. transaction.Rollback();
  38. throw;
  39. }
  40. }
  41.  
  42. public static int Execute(string sSQL, bool bUseTransaction = false)
  43. {
  44. int num;
  45. SQLiteConnection connection;
  46. //if (!bUseTransaction)
  47. //{
  48. // connection = new SQLiteConnection(ConnString);
  49. // connection.Open();
  50. // var command = new SQLiteCommand(connection) {
  51. // CommandText = sSQL
  52. // };
  53. // return command.ExecuteNonQuery();
  54. //}
  55. SQLiteTransaction transaction = null;
  56. try
  57. {
  58. connection = new SQLiteConnection(ConnString);
  59. connection.Open();
  60. transaction = connection.BeginTransaction();
  61. num = new SQLiteCommand(connection) { CommandText = sSQL }.ExecuteNonQuery();
  62. transaction.Commit();
  63. }
  64. catch (Exception)
  65. {
  66. transaction.Rollback();
  67. throw;
  68. }
  69. return num;
  70. }
  71.  
  72. public static DataTable GetDataTable(string sSQL)
  73. {
  74. var connection = new SQLiteConnection(ConnString);
  75. connection.Open();
  76. var command = new SQLiteCommand
  77. {
  78. CommandText = sSQL,
  79. Connection = connection
  80. };
  81. var adapter = new SQLiteDataAdapter(command);
  82. var dataTable = new DataTable("table");
  83. adapter.Fill(dataTable);
  84. return dataTable;
  85. }
  86.  
  87. public static int GetMaxId(string sKeyField, string sTableName)
  88. {
  89. DataTable dataTable = GetDataTable("select ifnull(max([" + sKeyField + "]),0) as MaxID from [" + sTableName + "]");
  90. if ((dataTable != null) && (dataTable.Rows.Count > ))
  91. {
  92. return Convert.ToInt32(dataTable.Rows[][].ToString());
  93. }
  94. return ;
  95. }
  96.  
  97. public static object GetSingle(string sSQL)
  98. {
  99. DataTable dataTable = GetDataTable(sSQL);
  100. if ((dataTable != null) && (dataTable.Rows.Count > ))
  101. {
  102. return dataTable.Rows[][];
  103. }
  104. return null;
  105. }
  106.  
  107. }
  108. }

C#之WPF连接sqllite数据库的更多相关文章

  1. 如何从40亿整数中找到不存在的一个 webservice Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库 WPF实战案例-打印 RabbitMQ与.net core(五) topic类型 与 headers类型 的Exchange

    如何从40亿整数中找到不存在的一个 前言 给定一个最多包含40亿个随机排列的32位的顺序整数的顺序文件,找出一个不在文件中的32位整数.(在文件中至少确实一个这样的数-为什么?).在具有足够内存的情况 ...

  2. WPF应用Access数据库

    WPF应用Access数据库 现在Access数据库中有表GuestTable,其中的字段如下图所示,现在需要应用WPF技术为此表制作一个数据库管理窗口,实现对此数据库中的数据进行数据的增.删.改和查 ...

  3. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  4. ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库

    前段时间在园子里看到了小蝶惊鸿 发布的有关绿色版的Linux.NET——“Jws.Mono”.由于我对.Net程序跑在Linux上非常感兴趣,自己也看了一些有关mono的资料,但是一直没有时间抽出时间 ...

  5. PDO连接mysql数据库

    1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...

  6. 【.net 深呼吸】连接Access数据库应注意的几点

    本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ...

  7. nhibernate连接11g数据库

    我框架的数据映射用 nhibernate连接多数据库,这次又增加了oracle11g,负责开发的同事始终连接不上,悲催的sharepoint调试是在不方便... 下面描述下问题的解决,细节问题有3个: ...

  8. pycharm连接mysql数据库

    新的环境配置pycharm的项目时,发现pycharm不能连接到mysql数据库.由于安了java环境但是还没配置相关的库,并且jetbrains家的IDE一般都是java写的,于是猜想可能是java ...

  9. Windows操作系统下远程连接MySQL数据库

    用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...

随机推荐

  1. Spring Boot MyBatis 数据库集群访问实现

    Spring Boot MyBatis 数据库集群访问实现 本示例主要介绍了Spring Boot程序方式实现数据库集群访问,读库轮询方式实现负载均衡.阅读本示例前,建议你有AOP编程基础.mybat ...

  2. CSS3 translate导致字体模糊

    今日客户反馈,发现 使用了 translate会导致字体模糊. .media-body-box{ @media all and (min-width: 992px){ position: absolu ...

  3. 初识JAVA语言

    推荐阅读:  我的CSDN  我的博客园  QQ群:704621321 前言        很多游戏开发者可能会有疑问,你会C#,JS,TS,为什么还要初识JAVA呢?有人可能会说,多学点对自己有好处 ...

  4. Java连载26-方法(语法结构)

    一.方法 1.返回值类型如果不是void,表示这个方法执行结束之后必须返回一个具体的数值,当方法执行结束的时候没有返回任何数值,编译器会报错,怎么返回值呢?并且要求“值”的数据类型必须和“方法的返回值 ...

  5. python控制窗口口字形运动

    import win32con import win32gui import time import math notepad = win32gui.FindWindow("Photo_Li ...

  6. JIra配置权限方案

    目录: 添加用户 添加用户组 将用户分配到不同的组中 创建项目权限方案 配置项目采用的权限方案 1. 添加用户 1)使用admin权限的账户登录后,点击右上角的配置,选择system 2)在打开的页面 ...

  7. Scrum的三个仪式:Sprint规划会,Scrum每日站会,Sprint评审会

    转自:http://blog.sina.com.cn/s/blog_6997f01501010m21.html Sprint Planning Meeting(Sprint规划会) 根据Product ...

  8. 【HDU6035】 Colorful Tree

    题目的意思是:给定一个点带颜色的树,两点之间的距离定义为路径上不同颜色的个数.求所有点对间的距离和. 做法有点分治,还有传说中的虚树DP,树上差分. 点分治法: 考虑每个点的贡献,可以发现一个点的子树 ...

  9. HDU-6229 ICPC-沈阳M- Wandering Robots 概率

    HDU - 6229 题意: 在一个n*n的地图中,有一个初始在(0,0)位子的机器人,每次等概率的向相邻的格子移动或者留在原地.问最后留在格子(x,y)(x+y>=n-1)的地方的概率. 思路 ...

  10. Codeforces Round #480 (Div. 2) A. Links and Pearls

    题目地址:http://codeforces.com/contest/980/problem/A 官方题解: 我的理解:o表示珍珠,-表示链子,给一串字符串你可以任意重组这条项链(不能删去),判断这条 ...