.net调用sqlite数据库
来源:互联网 发布:java文件下载原理 编辑:程序博客网 时间:2024/04/27 23:49
我最近完成了一个项目,叫通讯录软件。这个是很简单的系统,业务方面就不说了。我想分享一下,为什么要用到sqlite数据库。
我们在开发通讯录的时候,就希望通讯录在联网或者断网的时候,都可以查询通讯录的信息。那就需要将通讯录的内容要同步到本地,sqlite是比较轻便的数据库,非常利于存储在本地。解决方案很简单,联网的时候,我直接访问sql server数据库服务器,但是在网络不通的时候,我们只需要读取sqlite的数据就可以了。
(1)创建sqlite表
我下载了一个SQLite Expert Professional 3工具,直接创建存储通讯录信息的表。SQLite Expert Professional 3工具挺好用的,不过正式版是需要钱的。在创建数据表的过程中,我们要注意的地方就是DataTime类型的数据如何保存。在sqlite数据库里面,我认为最好的方式就是将日期保存为字符串就好了,如果需要的时候,取出来再处理。
(2)引入dll
在使用sqlite数据库的时候,我们在项目工程中引入System.Data.SQLite.dll
(3)C#使用sqlite数据库的类
这是我们这篇文章最重要的内容,就是分享一下sqlite操作的基本类,代码如下:
using System;using System.Collections.Generic;using System.Text;using System.Data.SQLite;using System.Data;namespace AddressBook{ class SQLiteHelper { private SQLiteConnection conn = null; private string connString = string.Empty; public string ConnString { get { return connString; } set { connString = value; } } private string err = string.Empty; public string Err { get { return err; } set { err = value; } } public SQLiteHelper() { string connString = "Data Source =" + Environment.CurrentDirectory + "/AddressBook.db"; conn = new SQLiteConnection(connString);//创建数据库实例,指定文件位置 //conn.Open();//打开数据库,若文件不存在会自动创建 } /// <summary> /// 操作数据库 /// </summary> /// <param name="sql"></param> /// <returns></returns> public int ExecNoQuery(string sql) { int retValue = -1; try { conn.Open(); SQLiteCommand cmd = new SQLiteCommand(sql, conn); retValue = cmd.ExecuteNonQuery(); conn.Close(); } catch (Exception ex) { err = ex.Message; return -1; } return retValue; } /// <summary> /// 获取科室数据 /// </summary> /// <returns></returns> public DataSet GetDataSet(string sql) { try { DataSet dataset = new DataSet(); SQLiteDataAdapter adapter = new SQLiteDataAdapter(); adapter.SelectCommand = new SQLiteCommand(sql, conn); adapter.Fill(dataset); return dataset; } catch (Exception ex) { err = ex.Message; return null; } } /// <summary> /// 返回1个字符串 /// </summary> /// <param name="sql"></param> /// <returns></returns> public string ExecReturenOne(string sql) { string result = string.Empty; try { conn.Open(); SQLiteCommand cmd = new SQLiteCommand(sql, conn); object obj = cmd.ExecuteScalar(); if (obj != null) { result = obj.ToString(); } conn.Close(); } catch (Exception ex) { if (conn.State == System.Data.ConnectionState.Open) { conn.Close(); } err = ex.Message; return ""; } return result; } }}
0 0
- .net调用sqlite数据库
- .net 调用data.sqlite
- .net连接sqlite数据库
- .net操作SQLite数据库
- Android中调用Sqlite数据库
- MFC下调用sqlite数据库
- Asp.net使用Sqlite数据库
- 在.NET中利用SQLite ADO.NET使用SQLite数据库
- ASP.net调用数据库
- Android中继承SQLiteOpenHelper调用Sqlite数据库
- Android 通过WebView 调用Js sqlite数据库
- sqlite 数据库源码 调用顺序,版本执行
- cordova调用本地SQLite数据库的方法
- Sqlite在.NET下的使用和Sqlite数据库清理
- asp.net使用Sqlite数据库的连接
- 在.net中使用Sqlite数据库
- asp.net SQLite数据库操作Demo
- 在.net中使用Sqlite数据库
- MJRefresh和瀑布流
- UVA - 10462 Is There A Second Way Left?(次小生成树)
- 【微软面试题01】二元查找树转换为双向链表(未完成)
- 8.19总结
- Tomcat 8.0安装和使用
- .net调用sqlite数据库
- 惨痛教训
- 每天五个java相关面试题(5)--主要关于网络协议(重点)
- poj 1724 ROADS
- C语言动态连续数组
- XML实现ObjectAnimator 对象动画
- 选择PHP还是 ASP.NET:你做了正确选择么?(个人观点,但是也是受了行业内大多数人得影响吧)
- UVA - 11183 Teen Girl Squad(最小树形图)
- 同态滤波(Homomorphic filtering)