windows安装使用SQLlite并在C#调用SQLlite开发

首先安装 Sqlite 必须要先有安装文件,因为Sqlite 是一个开源的数据库,你们可以自己去编译,我比较懒,用别人编译好的。按照下面的步骤安装就行。都是英文的网站,大家注意点哦,别下载错了。 


1、安装SQLite数据库

 
  1).打开浏览器进入SQLite主页,www.sqlite.org
 
  2).单击页面顶部的下载链接(Download)选项,进入下载页面。
 
  3).滚动鼠标到“Precompiled Binaries for Windows”,选择sqlite-shell-win32-x86-3071401.zip(第一项),点击下载,(你们下载对应的版本,我的是win7我下载的是64位的)
 
  4).使用解压工具,将其解压。zip文件中包含一个sqlite3.exe文件,可以从解压文件所在位置使用sqlite;如果你想从任何目录下运行CLP,需要将该文件复制到Windows系统路径下。默认情况下,Windows中工作的路径是根分区下的(C:\Windwos\System32)。(注意:我下载到的是sqlite3所以下面在cmd输入的命令就是sqlite3)
 
  5).打开运行窗口,输入CMD,调出Windows命令行窗口。直接在里面输入 sqlite3
 
  6).在命令行窗口输入sqlite3并按回车,将出现SQLite命令行提示符。当SQLite命令行提示符出现时,输入.help,将出现一列类似相关命令的说明。输入.exit后退出程序。

 

如图 :

如果出现如上图所示,说明你已经安装成功了。
 

以上步骤都通过说明已经安装完成了,不过有点不爽的是这个安装完成之后是dos命令运行,实在很不爽, 不过有一个图形界面,我个人感觉比较好,就一起分享给大家。

 

2、可视化的SQLite数据库管理工具
 
    管理SQLite数据库除命令行外,网络上还有很多开源的可视化的SQLite数据库管理工具,登陆https://sourceforge.net/或者通过其他搜索引擎(GOOOGLE/BAIDU),输入【SQLite】可以找到一大片相关工具,比如,SQLite Database Browser、SQLite Administrator... 等等。试用了几个,比较而言,个人比较喜欢SQLite Administrator,该工具界面支持简体中文、界面比较简洁、数据库相关管理操作相对比较简便,该工具可以登陆http://sqliteadmin.orbmu2k.de/下载,以下是该工具的一个截图。

 

3、在Visual studio 2010下使用SQLite数据库
 
    登陆http://sqlite.phxsoftware.com/下载最新版的ADO.NET 4.0 Provider for SQLite,下载解压缩后为一个安装包。点击安装后,可在安装目录下发现System.Data.SQLite.dll文件,同时在安装过程中该DLL文件也会自动注册到Visual studio 2010,可为开发环境引用(见图)。

简单一点也可以吧这个dll放到项目中就行。

 在Visual studio 2010选择C#语言,建立新的项目SQLiteView,主界面参见下面的截图。该项目实现了对SQLite数据库的数据表的数据记录的浏览、新增、修改和删除操作功能。


数据库访问类DataAccess的代码:
 
using System;
 using System.Data;
 using System.Data.SQLite;
 
namespace SQLiteView
 {
     class DataAccess
     {
         SQLiteConnection con ;
         SQLiteCommand command;
         public DataAccess()
         {
             con = new SQLiteConnection("Data Source=test.db3");//test.db3位于debug目录下
             command = con.CreateCommand();
         }
         //读取数据
         public DataTable ReadTable(string tableName)
         {
             command.CommandText = "SELECT * FROM " + tableName;
             SQLiteDataAdapter da = new SQLiteDataAdapter(command);
             DataTable dt = new DataTable(tableName);
             da.Fill(dt);
             return dt;
         }
         //修改数据表
         public bool UpdateTable(DataTable srcTable, string tableName)
         {
             bool isok = false;
             try
             {
                 command.CommandText = "SELECT * FROM " + tableName;
                 SQLiteDataAdapter oda = new SQLiteDataAdapter(command);
                 SQLiteCommandBuilder ocb = new SQLiteCommandBuilder(oda);
                 oda.InsertCommand = ocb.GetInsertCommand();
                 oda.DeleteCommand = ocb.GetDeleteCommand();
                 oda.UpdateCommand = ocb.GetUpdateCommand();
                 oda.Update(srcTable);
                 isok = true;
             }
             catch (Exception ex)
             {}
             return isok;
         }
     }
 }
 
相关RIDU操作方法的代码如下:
 
       //刷新数据源
         private void RefreshTable()
         {
             this.dataGridView1.DataSource = dba.ReadTable("testone");
         }
         //更新数据源
         private void UpdateTable(DataTable dt)
         {
             if (dt != null)
             {
                 if (dba.UpdateTable(dt, "testone"))
                 {
                     RefreshTable();
                     MessageBox.Show("OK");
                 }
                 else
                     MessageBox.Show("Failed");
             }
         }
         //浏览
         private void button1_Click(object sender, EventArgs e)
         {
             RefreshTable();
         }
         
        //新增、修改
         private void button2_Click(object sender, EventArgs e)
         {
             DataTable dt = this.dataGridView1.DataSource as DataTable;
             UpdateTable(dt);
         }
         
        //删除
         private void button3_Click(object sender, EventArgs e)
         {
             DataTable dt = this.dataGridView1.DataSource as DataTable;
             DataRowView rowview = this.dataGridView1.CurrentRow.DataBoundItem as DataRowView;
             if (rowview != null)
             {
                 rowview.Row.Delete();
                 UpdateTable(dt);
             }            
         }  


通过试用 ,初步感觉SQLite数据库对SQL语言的支持也不错、有相关不俗实力的技术支持(开发团队、社区、论坛)、运行速度较快、普遍关注程度较高、够轻量级...,其中够轻量级是其最大的优点和亮点。
 

这个是我今天的使用的结果。供大家参考


 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值