VB.NET+SQLCE操作数据库简单例子



在VS.NET 2005中,使用VB开发PPC程序,可以很容易加入使用sqlCE的功能
基本步骤如下:
(1)使用VB.net建立一个智能设备应用程序,平台选择application device;
(2)右键点击“解决方案”该工程下面的“引用”,然后选择“添加引用”,然后添加“System.Data.sqlServerCe”;
(3)在需要使用sqlCE的窗体代码添加两个引用
Imports System.Data.sqlServerCe
Imports System.IO

经过这些操作,就可以使用sqlCE了。

定义两个全局变量
'数据库连接以及结果集变量
Dim conn As New sqlCeConnection("Data Source=\My Do***ents\Phone.sdf")
Dim ds As DataSet

余下的就是使用sql进行数据库操作

'创建数据库
Sub CreateDB()
If Not File.Exists("\My Do***ents\Phone.sdf") Then
Dim sqlEngine As New sqlCeEngine("Data Source = \My Do***ents\Phone.sdf")
sqlEngine.CreateDatabase()

Dim cmd As New sqlCeCommand("CREATE TABLE Phone(Name nvarchar(20) Primary Key NOT NULL,Number nvarchar(20))",conn)

conn.Open()
cmd.ExecuteNonQuery()

conn.Close()

status = status + "创建数据库成功!" & vbCrLf
Else
status = status + "数据库已经存在!" & vbCrLf
End If
End Sub

'添加数据
Sub AddData()
If File.Exists("\My Do***ents\Phone.sdf") Then

Dim cmd As New sqlCeCommand("",conn)

conn.Open()

cmd.CommandText = "INSERT INTO Phone(Name,Number) VALUES ('abcde','12345')"
cmd.ExecuteNonQuery()
cmd.CommandText = "INSERT INTO Phone(Name,Number) VALUES ('bcdef','23456')"
cmd.ExecuteNonQuery()

conn.Close()

status = status + "添加记录成功!" & vbCrLf
Else
status = status + "数据库尚未创建!" & vbCrLf
End If
End Sub

'显示数据库中的数据
Sub List()
If File.Exists("\My Do***ents\Phone.sdf") Then

conn.Open()
Dim reader As sqlCeDataReader
Dim cmd As New sqlCeCommand("SELECT * FROM Phone",conn)
reader = cmd.ExecuteReader
While reader.Read

status += "姓名:" & reader.Item("Name") & " 电话:" & reader.Item("Number") & vbCrLf

End While
conn.Close()
Else
status = status + "数据库尚未创建!" & vbCrLf
End If
End Sub

'删除数据库的数据
Sub DeleteData()
If File.Exists("\My Do***ents\Phone.sdf") Then

conn.Open()

Dim cmd As New sqlCeCommand("DELETE FROM Phone",conn)
cmd.ExecuteNonQuery()

conn.Close()

status = status + "数据库的记录已经删除!" & vbCrLf
Else
status = status + "数据库尚未创建!" & vbCrLf
End If
End Sub

'修改数据库的数据
Sub ModifyData()
If File.Exists("\My Do***ents\Phone.sdf") Then

conn.Open()

Dim cmd As New sqlCeCommand("UPDATE Phone SET Name='Hello',Number='87654321' WHERE Name='abcde' AND Number='12345'",conn)
cmd.ExecuteNonQuery()

conn.Close()

status = status + "数据库的记录已经修改!" & vbCrLf Else status = status + "数据库尚未创建!" & vbCrLf End If End Sub

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 --------------------------...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTime 竟然结果和...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的解决方案直接...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m As Range, t...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integ...