免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1248 | 回复: 0
打印 上一主题 下一主题

VB.NET+SQLCE操作数据库简单例子 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-22 08:51 |只看该作者 |倒序浏览
实现创建数据库,创建表,然后在表中增加、修改、删除以及读取记录的功能,就这个例子的编写来讲SQLCE的第一部分——操作PDA本地上的数据库。

SQLCE提供了一个数据库连接,通过它,可以使用标准SQL语句进行数据库的创建。
SQLCE的第一个基本功能,就是可以在不依赖SQLSERVER的情况下,在PPC上独立的创建数据库,并以sdf文件的格式保存在PPC上。

在VS.NET 2003中,使用VB开发PPC程序,可以很容易加入使用SQLCE的功能。
基本步骤如下:
(1)使用VB.net建立一个智能设备应用程序,平台选择PPC;
(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

以上只是最基本的操作,都包含在本文的例子当中。根据需要,可以使用这些SQLCE做出具有多种复杂功能的软件出来。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP