SQLite安装和调用
Posted 大江东去奔流到海
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLite安装和调用相关的知识,希望对你有一定的参考价值。
想把项目的SQL SERVER数据库换掉,因为SQL SERVER过于庞大,而我的项目只是小型的桌面应用程序。
网上搜了一下,发现了SQLite,真是个好东西,无需安装和部署,关键是客户电脑什么都不用装就能使用数据库,大小只有1M多,正是我想要的。
花了半天时间,把项目的数据库替换掉,SQL语句基本都能用,只修改了个别语句。把SQLite的用法做个简单的记录。
一、SQLite安装
下载地址:http://www.sqlite.org/download.html 我用的是win7 32位,选了这两个。
下载解压后,将两个加压后的文件放入C盘新建的sqlite文件夹,或者其他任意的文件夹,作为SQLite的安装路径。
如果使用dos环境配置数据库和表结构,需要用到sqlite3这个命令,需要将sqlite3.exe配置到系统环境变量,右击计算机->属性->高级系统设置->环境变量,编辑Path,添加C:\\sqlite,
即我们建立的安装路径。
添加后,可以使用cmd,输入sqlite3,出现
即为添加成功,然后我们可以在dos窗口下使用命令创建数据库和表,包括各种增删改查操作。如果不喜欢dos操作,就不用添加环境变量,直接使用可视化工具。
二、SQLite可视化工具
我个人喜欢可视化操作,虽然没有dos操作“高大上”,但是有方便的工具为啥不用呢?我搜了一下,SQLite的可视化工具还挺多,我下了一款,叫SQLite Studio,感觉还可以。
SQLite Studio下载地址:https://sqlitestudio.pl/index.rvt
在可视化工具下,傻瓜式创建数据库和表。
三、SQLite驱动
数据库创建好后,需要程序连接数据库,因为我用的是C#,所以还要下载C# 32位的驱动程序。
驱动下载地址:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki ,我习惯用.net 4.0,所以下载了这个
下载后直接安装,然后在程序里引用安装路径下的System.Data.SQLite.dll,导入命名空间:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Data.SQLite; namespace DAL { public class DAL_LOGIN { private static string conStr = System.Configuration.ConfigurationManager.ConnectionStrings["SQLConnectionString"].ConnectionString; System.Data.DataSet ds = new System.Data.DataSet(); SQLiteConnection sqlConn = new SQLiteConnection(); SQLiteCommand sqlComm = new SQLiteCommand(); SQLiteDataAdapter sqlDa = new SQLiteDataAdapter(); SQLiteCommandBuilder scb = new SQLiteCommandBuilder(); public void Conn() { if(sqlConn.State == ConnectionState.Closed) { sqlConn = new SQLiteConnection(conStr); sqlConn.Open(); sqlComm.Connection = sqlConn; sqlComm.CommandType = CommandType.Text; } } public void Close() { sqlDa.Dispose(); sqlDa = null; sqlComm.Dispose(); sqlComm = null; sqlConn.Dispose(); sqlConn = null; } public DataTable GetUserName() { sqlComm.CommandText="select distinct UserName from CMSUSERINFO order by UserName asc"; sqlComm.Parameters.Clear(); sqlDa.SelectCommand = sqlComm; sqlDa.Fill(ds, "MER_LOGIN_USERNAME"); ds.Tables["MER_LOGIN_USERNAME"].Clear(); sqlDa.Fill(ds, "MER_LOGIN_USERNAME"); return ds.Tables["MER_LOGIN_USERNAME"]; } public int CheckUserInfo(string name,string pass) { sqlComm.CommandText = "select count(*) from CMSUSERINFO where UserName = @name and UserPass =@pass"; sqlComm.Parameters.Clear(); var paras = new SQLiteParameter[] { new SQLiteParameter("@name", name), new SQLiteParameter("@pass", pass) }; sqlComm.Parameters.AddRange(paras); int n =int.Parse(sqlComm.ExecuteScalar().ToString()); return n; } } }
使用App.config配置连接字符串:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="SQLConnectionString" connectionString="Data Source=|DataDirectory|\\*.db;Pooling=true;FailIfMissing=false" providerName="System.Data.SQLite"/> </connectionStrings> </configuration>
我喜欢把*.db放入到应用程序路径下,直接拷贝就能在其他电脑上运行。在客户电脑文件夹内只需要System.Data.SQLite.dll和*.db这两个文件即可访问数据库,当然.net 4.0是必需的。
以上是关于SQLite安装和调用的主要内容,如果未能解决你的问题,请参考以下文章
java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常(代码片段