开发ADOCE搭配WinCE资料存取应用程序(2)

2008-02-23 06:52:03来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

使用 ADOCE
使用 ADOCE,您可以将资料库移至您 Windows CE 基础的装置或是从您 Windows CE 基础的装置移出。 您也可以在桌上型电脑装置上与一个模拟器上建立或存取资料库。以下的章节将描述如何使用 ADOCE 及其案例。注意 ControlConsts.bas 安装在 \Program Files\Microsoft Visual Studio\VB98\VBCE\Samples 目录内。此当案包含有在 ADOCE 与其他控制列举的定义。

需要的软体
如要使用 ADOCE 控制,您需要以下的软体:

Microsoft Windows CE Services 版本 2.1 或更早的版本

Microsoft Windows NT Workstation 版本 4.0 或是 Windows 95 或 98

您使用装置的 Microsoft Windows CE Platform SDK

Microsoft Visual Basic 专业版 6.0 开发系统或是 Microsoft Visual Basic 企业版 6.0

Microsoft Windows CE Toolkit for Visual Basic 版本 6.0

注意:ADOCE 控制包含在 Windows CE Toolkit for Visual Basic 之内。

在桌上型电脑与装置之间移动资料库
您可以在一个桌上型电脑与一个 Windows CE 基础的装置之间来回移动资料库 表格。储存在桌上型电脑的资料库是 Microsoft Access database 格式。储存在装置 的资料库被存为标准 Windows CE 基础表格与加至 ADOCE 系统表格的额外资讯

从桌上型电脑拷贝一个资料库至装置

连接装置与桌上型电脑并开启 Mobile Devices 视窗。

在 Mobile Devices 视窗从工具功能表选择汇入资料库表格。会显示出开启对话方块。

选取包含有您要汇入的表格的 Access .mdb 档案。从资料库至 Mobile Device 汇入对话方块与资料库的表格与栏位清单会显示出来。

选取您要汇入的表格与栏位的核取方块,并且清除您不要汇入的表格与栏位的核取方块。

对您希望要唯读的表格,选取唯读核取方块。

如果您要取代装置内与 .mdb 档案名称相同的表格,选取覆盖现存的表格与 / 或资料核取方块。

选择确定开始转换。

从桌上型电脑拷贝一个资料库至装置

连接装置与桌上型电脑并开启 Mobile Devices 视窗。

在 Mobile Devices 视窗,从工具功能表选择汇出资料库表格。从 Mobile Device 至资料库汇出对话方块会显示出来,在连接的装置上显示 ADOCE 表格。

选择浏览按钮以选取一个 Access .mdb 档案。您也可以在位置方块输入路径与档案名称。如果档案不存在,ADOCE 会为您建立。

选取您要汇出表格的核取方块,然後清除您不要汇出表格的核取方块。ADOCE 会将所有选取的表格放入 .mdb 档案。

如果您要取代在 .mdb 档案内的表格,此表格与所选取的 ADOCE 表格名称相同,选取覆盖现存的表格与 / 或资料核取方块。

选择确定开始转换。

对於计划控制将 .mdb 档案转换至 ADOCE 表格及将 ADOCE 表格转换至 .mdb 档案,您可以各别使用 DesktopToDevice 与 DeviceToDesktop 函数。这些函数行为类似於从资料库至 Mobile Device 汇入与从 Mobile Device 至资料库汇出对话方块,但使用者选择对话方块不会显示 出来。所有进度列会显示出来,表示转送的状态。一个传回错误不会自动引起登录 档案显示。取而代之的是,函数会传回一个错误值 HRESULT,呼叫的应用 程式可以采取适当的动作。

使用 DesktopToDevice 函数,您可以指定转换哪一个栏位。然而,使用 DeviceToDesktop 函数,预设为转换表格中所有的栏位。

下列程式码案例显示一个简单的 Visual Basic 应用程式,其以不同步方式将一个 被包括在 Visual Basic 的 Northwind 资料库的子集拷贝至装置,但是覆盖任何现存的 Northwind 表格。Employees 表格以唯读表格传送,然而 Products 表格可以被更新。

Declare Function DesktopToDevice Lib "c:\program files\windows ce services\adofiltr.dll" _
(ByVal desktoplocn As String, _
    ByVal tablelist As String, _
    ByVal sync As Boolean, _
    ByVal overwrite As Integer, _
ByVal devicelocn As String) As Long

result = DesktopToDevice ("c:\mydbs\nwind.mdb", _
"!Employees..Products.ID.Name.Quantity..", False, True, "")
If result <> 0 Then MsgBox "An error occurred transferring the data"

建立一个表格
在您可以使用 ADOCE 控制存取资料之前,您必须要有一个用以储存资料的表 格。下列的程式码案例显示如何在一个 H/PC(手提式个人电脑)执行专业软体的资 料库目录内建立一个新的 ADOCE 表格。

Dim rs
Set rs = CreateObject("adoce.recordset")
rs.Open "create table mytable (firstfield text, secondfield integer)"
Set rs = Nothing

因为 SQL 陈述式变更一个表格的结构使得记录组被关闭,您不能读取或是写入资 料直到记录组重新被开启。

排序一个表格
您可以排序一个资料库,使用 Order By 陈述式,用索引或不用索引都 可以。然而,不用索引排序的资料库一般较用索引排序的资料库速度为慢。下 列的程式码案例显示如何不用索引排序一个资料库。它需要一个名为 List1 的清单方块。

Dim rs
Set rs = CreateObject("ADOCE.RecordSet")
rs.open "select * from mytable order by firstfield desc", "", adOpenKeyset, adLockOptimistic
If rs.RecordCount > 0 Then
  Do While Not rs.EOF
   List1.Additem rs.Fields("firstfield").Value
   rs.MoveNext
   Loop
End If
rs.Close
set rs = Nothing

下列程式码案例显示如何在一个资料库建立一个索引,用以增加排序的速度。它需要一个名为 List1 的清单方块。

Dim rs
Set rs = CreateObject("ADOCE.RecordSet")
rs.open "create index i1 on mytable (firstfield desc)"
rs.open "select * from mytable order by firstfield desc", "", adOpenKeyset, adLockOptimistic
If rs.RecordCount > 0 Then
  Do While Not rs.EOF
   List1.Additem rs.Fields("firstfield").Value

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:直接使用ODBC API访问数据库的VB程序

下一篇:利用VBA自定义Office的快捷方式