vb.net使用SQLite轻量级数据库
的有关信息介绍如下:vb.net适合快速开发各种桌面级应用程序,支持连接多种数据库,但多数数据库都需要预先安装庞大的数据库的应用程序,而SQLite是一款轻量级、免费开源的数据库,仅仅需要几个dll文件即可完成几乎所有的SQL操作,特别适合在小型应用或嵌入式应用中使用。
确保下载的SQLite动态链接库与您使用的平台相匹配,对于VB.net必须使用.NET Framework,这里选.NET Framework 2.0版本。SQLite动态链接库下载地址见本文后的注意事项。
Visual Studio中新建VB.net Windows窗体应用程序。
将下载的SQLite动态链接库文件拷贝到VB.net目标应用程序目录下,注意只需要System.Data.SQLite.dll和SQLite.Interop.dll这2个文件即可。
VB.net工程下,添加对System.Data.SQLite的引用,并导入System.Data.SQLite导入到命名空间。
设计前面板。这里作为示例,添加了1个标签用于显示数据库查询的内容,1个建表按钮、1个插记录按钮、1个改记录按钮、1个查记录按钮分别进行部分数据库操作。
编辑后面板。注意必须在全局声明中导入System.Data.SQLite命名空间;Form1_Load事件中,使用连接字符串建立VB.net和数据库文件之间的连接,具体语法如下:
Imports System.Data.SQLite
Imports System.IO
Public Class Form1
Dim conn As New SQLiteConnection
Dim sqlcmd As New SQLite.SQLiteCommand
Dim sqlreader As SQLiteDataReader
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim S As String = Directory.GetCurrentDirectory & "\db"
conn.ConnectionString = "Data Source=" & S
conn.Open()
sqlcmd.Connection = conn
End Sub
End Class
建立数据库连接后,可以进行数据库操作,基本的套路就是写SQL语句,然后执行。像建表、插记录、改记录这类操作,是不需要返回数据的,所以用.ExecuteNonQuery()方法,而查记录操作,是需要返回数据的,必须用.ExecuteReader()方法返回数据给一个数据读取对象,然后使用.Read()方法读取一条记录,继而根据类型读取相应的变量。
示例:
'建表
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
sqlcmd.CommandText = "CREATE TABLE TEST ( 工号 INT, 姓名 CHAR(10), 出生年月 DATETIME, 家庭住址 CHAR(100) )"
sqlcmd.ExecuteNonQuery()
End Sub
'插记录
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
sqlcmd.CommandText = "INSERT INTO TEST VALUES ( 1, '张三', '1983-3', '山东省青岛市')"
sqlcmd.ExecuteNonQuery()
End Sub
'改记录
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
sqlcmd.CommandText = "UPDATE TEST SET 家庭住址='山东省潍坊市' WHERE 姓名='张三'"
sqlcmd.ExecuteNonQuery()
End Sub
'查记录
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
sqlcmd.CommandText = "SELECT * FROM TEST"
sqlreader = sqlcmd.ExecuteReader
sqlreader.Read()
Label1.Text = "姓名:" & sqlreader.GetString(1) & vbCr & _
"工号:" & sqlreader.GetInt16(0) & vbCr & _
"出生年月:" & sqlreader.GetString(2) & vbCr & _
"家庭住址:" & sqlreader.GetString(3) & vbCr
End Sub
为了方便调试,建议使用SQLite Studio管理工具随时查看数据库操作的过程。