1.关于Sqlite  

  Sqlite是一款开源的、适合在客户端和嵌入式设备中使用的轻量级数据库,支持标准的SQL。

  不像SqlServer或Oracle的引擎是一个独立的进程、通过TCP或命名管道等与程序进行通信,SQLite却是作为程序的一个部件、一个构成部分,使用Sqlite的方式就是直接在程序中进行API调用。

2.Sqlite资源链接

       Sqlite官网:可以从官网下载源码、或下载已经编译好的二进制版本。支持的系统包括:Linux、MacOS、Windows、.NET。

3.在.NET中使用Sqlite

  从官网下载.NET版本的Sqlite,其主要包括两个dll:SQLite.Interop.dll、System.Data.SQLite.dll。

(1)System.Data.SQLite.dll是一个标准的托管dll,我们可以直接在.NET项目中引用并使用它,就像使用.NET自带的System.Data命名空间中的各个对象一样。

(2)SQLite.Interop.dll是一个非托管的dll,是Sqlite引擎核心,我们需要将其拷贝到运行目录下,在运行时,它会被System.Data.SQLite.dll调用。
 

4.Winform中使用SQLite

(1)可使用northwindEF.db测试数据库,也可以新建一个数据库。
(2)Winform界面:

使用ComboBox:cboTables加载数据库表。

点击OK,查询选择的表中的详细信息显示到DataGridView:grdDetail。
 
(3)代码说明
Step 1. 添加引用System.Data.SQLite. 注意需要复制SQLite.Interop.dll至运行目录下;
Step 2. 定义变量
public partial class Form1 : Form
{
SQLiteConnection mConn;
SQLiteDataAdapter mAdapter;
DataTable mTable;
public Form1()
{
InitializeComponent();
}
}

Step 3. 连接数据库,并查找数据库中表显示到cboTables

private void Form1_Load(object sender, EventArgs e)
{
//连接数据库.
string mDbPath = Application.StartupPath + "/northwind.db";
//如果数据库不存在,则自动创建.
mConn = new SQLiteConnection("Data Source=" + mDbPath); //打开数据库文件.
mConn.Open(); //创建表[Test Table].
// id - Unique Counter - Key Field (Required in any table)
// FirstName - Text
// Age - Integer
using (SQLiteCommand mCmd = new SQLiteCommand
("CREATE TABLE IF NOT EXISTS [Test Table] " +
"(id INTEGER PRIMARY KEY AUTOINCREMENT, 'FirstName' TEXT, 'Age' INTEGER);",
mConn))
{
mCmd.ExecuteNonQuery();
} //获取数据库中表.
//表 "Tables"中字段 "TABLE_NAME" 包含所有表名信息.
using (DataTable mTables = mConn.GetSchema("Tables")) // "Tables"包含系统表详细信息;
{
for (int i = ; i < mTables.Rows.Count; i++)
{
cboTables.Items.Add(mTables.Rows[i].ItemArray[mTables.Columns.IndexOf("TABLE_NAME")].ToString());
}
if (cboTables.Items.Count > )
{
cboTables.SelectedIndex = ; // 默认选中第一张表.
}
} }
Step 4. 选择cboTables中表名,点击Ok,获取该表详细信息显示到grdDetail中。

private void btnOk_Click(object sender, EventArgs e)
{
mAdapter = new SQLiteDataAdapter("SELECT * FROM [" + cboTables.Text + "]", mConn);
mTable = new DataTable(); // Don't forget initialize!
mAdapter.Fill(mTable); // 绑定数据到DataGridView
grdDetail.DataSource = mTable;
}

WinForm中从SQLite数据库获取数据显示到DataGridView的更多相关文章

  1. android中与SQLite数据库相关的类

    为什么要在应用程序中使用数据库?数据库最主要的用途就是作为数据的存储容器,另外,由于可以很方便的将应用程序中的数据结构(比如C语言中的结构体)转化成数据库的表,这样我们就可以通过操作数据库来替代写一堆 ...

  2. 在Android 开发中使用 SQLite 数据库笔记

    SQLite 介绍   SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PH ...

  3. 在 Android 应用程序中使用 SQLite 数据库以及怎么用

    part one : android SQLite 简单介绍 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库.它支持 SQL 语言,而且仅仅利用非常少的内存就有非常好的性能.此外它还是开 ...

  4. Android虚拟机中的sqlite数据库文件

    Android虚拟机中的sqlite数据库文件 ①

  5. 在项目中使用SQLite数据库小结

    ------------------------------------------------------------------------推荐: - VS2012 使用 1.0.84 版的库 - ...

  6. 2014-08-01 ASP.NET中对SQLite数据库的操作——ADO.NET

    今天是在吾索实习的第18天.我主要学习了如何在ASP.NET中对SQLite数据库的操作,其基本操作如下: 添加引用System.Data.SQLite.dll(PS:在网页里面任意找到适合的.NET ...

  7. Go语言中使用SQLite数据库

    Go语言中使用SQLite数据库 1.驱动 Go支持sqlite的驱动也比较多,但是好多都是不支持database/sql接口的 https://github.com/mattn/go-sqlite3 ...

  8. Winform中怎样跨窗体获取另一窗体的控件对象

    场景 Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/de ...

  9. 【Win10】在应用中使用 SQLite 数据库

    在绝大多数应用中,免不了要做的一项就是设置这样的本地数据存储.简单的数据存储我们可以使用 LocalSettings 或者 IsolatedStorageFile(独立存储)等等的方式来进行本地数据存 ...

随机推荐

  1. linq to sql 和linq to php 的区别

    linq to sql 这是自.net框架3.5版本以上做出了相关规定. linq to php .Net的linq库的忠实移植到PHP 这个库使得大量使用匿名函数在PHP 5.3中引入的功能.因此, ...

  2. 理解JavaScript继承(三)

    理解JavaScript继承(三) 通过把父对象的属性,全部拷贝给子对象,也能实现继承. 7.浅拷贝 function extendCopy(p) { var o = {}; for (var pro ...

  3. 用C++编写发布器和订阅器节点

    1.转移到之前教程在catkin工作空间所创建的package路径下: $ roscd package_name/ 例子:$ roscd practice/2.在package路径下创建src目录: ...

  4. HihoCoder - 1336 二维数状数组(单点更新 区间查询)

    You are given an N × N matrix. At the beginning every element is 0. Write a program supporting 2 ope ...

  5. GoLand(二)语言结构和基础语法

    Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.Go语言结构1.Go语言有6大部分组成,分别是:包声明.引入包.函数.变量.语句或表达式.注释2.输出一个He ...

  6. Mschart的Annotations属性使用

    近期项目中用到了SPC统计功能,以前是用GDI+绘制的图表,由于坐标计算不准确,显示有偏差,于是重构了代码,将算法与图表做了分离.图表部分如果需要WPF的实现,可以参考以下两个开源项目. https: ...

  7. springboot-web进阶(一)——表单验证

    一.概述 1.准备 先把快速入门篇的结构调整一下,按照自己的喜好或者要求调整: 2.需求 基于快速入门篇增加一个女生的需求,禁止添加未成年(18岁以下) 3.实现 第一步:在bean的属性上加对应约束 ...

  8. 大数据入门第十天——hadoop高可用HA

    一.HA概述 1.引言 正式引入HA机制是从hadoop2.0开始,之前的版本中没有HA机制 2.运行机制 实现高可用最关键的是消除单点故障 hadoop-ha严格来说应该分成各个组件的HA机制——H ...

  9. 20155339 第七周加分项目 mybash的实现

    mybash的实现 要求 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 学习相关知识 fork函数 查看 ...

  10. RMAN 与control文件的关系

    试验: SQL> oradebug setmypid;Statement processed.SQL> 接着,进行backup: RMAN> list backup; using t ...