开发ADOCE搭配WinCE资料存取应用程序(2)
使用ADOCE
使用ADOCE,您可以将资料库移至您WindowsCE基础的装置或是从您WindowsCE基础的装置移出。您也可以在桌上型电脑装置上与一个模拟器上建立或存取资料库。以下的章节将描述如何使用ADOCE及其案例。注意ControlConsts.bas安装在\ProgramFiles\MicrosoftVisualStudio\VB98\VBCE\Samples目录内。此当案包含有在ADOCE与其他控制列举的定义。 需要的软体 如要使用ADOCE控制,您需要以下的软体: MicrosoftWindowsCEServices版本2.1或更早的版本 MicrosoftWindowsNTWorkstation版本4.0或是Windows95或98 您使用装置的MicrosoftWindowsCEPlatformSDK MicrosoftVisualBasic专业版6.0开发系统或是MicrosoftVisualBasic企业版6.0 MicrosoftWindowsCEToolkitforVisualBasic版本6.0 注意:ADOCE控制包含在WindowsCEToolkitforVisualBasic之内。 在桌上型电脑与装置之间移动资料库 您可以在一个桌上型电脑与一个WindowsCE基础的装置之间来回移动资料库表格。储存在桌上型电脑的资料库是MicrosoftAccessdatabase格式。储存在装置的资料库被存为标准WindowsCE基础表格与加至ADOCE系统表格的额外资讯 从桌上型电脑拷贝一个资料库至装置 连接装置与桌上型电脑并开启MobileDevices视窗。 在MobileDevices视窗从工具功能表选择汇入资料库表格。会显示出开启对话方块。 选取包含有您要汇入的表格的Access.mdb档案。从资料库至MobileDevice汇入对话方块与资料库的表格与栏位清单会显示出来。 选取您要汇入的表格与栏位的核取方块,并且清除您不要汇入的表格与栏位的核取方块。 对您希望要唯读的表格,选取唯读核取方块。 如果您要取代装置内与.mdb档案名称相同的表格,选取覆盖现存的表格与/或资料核取方块。 选择确定开始转换。 从桌上型电脑拷贝一个资料库至装置 连接装置与桌上型电脑并开启MobileDevices视窗。 在MobileDevices视窗,从工具功能表选择汇出资料库表格。从MobileDevice至资料库汇出对话方块会显示出来,在连接的装置上显示ADOCE表格。 选择浏览按钮以选取一个Access.mdb档案。您也可以在位置方块输入路径与档案名称。如果档案不存在,ADOCE会为您建立。 选取您要汇出表格的核取方块,然後清除您不要汇出表格的核取方块。ADOCE会将所有选取的表格放入.mdb档案。 如果您要取代在.mdb档案内的表格,此表格与所选取的ADOCE表格名称相同,选取覆盖现存的表格与/或资料核取方块。 选择确定开始转换。 对於计划控制将.mdb档案转换至ADOCE表格及将ADOCE表格转换至.mdb档案,您可以各别使用DesktopToDevice与DeviceToDesktop函数。这些函数行为类似於从资料库至MobileDevice汇入与从MobileDevice至资料库汇出对话方块,但使用者选择对话方块不会显示出来。所有进度列会显示出来,表示转送的状态。一个传回错误不会自动引起登录档案显示。取而代之的是,函数会传回一个错误值HRESULT,呼叫的应用程式可以采取适当的动作。 使用DesktopToDevice函数,您可以指定转换哪一个栏位。然而,使用DeviceToDesktop函数,预设为转换表格中所有的栏位。 下列程式码案例显示一个简单的VisualBasic应用程式,其以不同步方式将一个被包括在VisualBasic的Northwind资料库的子集拷贝至装置,但是覆盖任何现存的Northwind表格。Employees表格以唯读表格传送,然而Products表格可以被更新。 DeclareFunctionDesktopToDeviceLib"c:\programfiles\windowsceservices\adofiltr.dll"_ (ByValdesktoplocnAsString,_ ByValtablelistAsString,_ ByValsyncAsBoolean,_ ByValoverwriteAsInteger,_ ByValdevicelocnAsString)AsLong result=DesktopToDevice("c:\mydbs\nwind.mdb",_ "!Employees..Products.ID.Name.Quantity..",False,True,"") Ifresult<>0ThenMsgBox"Anerroroccurredtransferringthedata" 建立一个表格 在您可以使用ADOCE控制存取资料之前,您必须要有一个用以储存资料的表格。下列的程式码案例显示如何在一个H/PC(手提式个人电脑)执行专业软体的资料库目录内建立一个新的ADOCE表格。 Dimrs Setrs=CreateObject("adoce.recordset") rs.Open"createtablemytable(firstfieldtext,secondfieldinteger)" Setrs=Nothing 因为SQL陈述式变更一个表格的结构使得记录组被关闭,您不能读取或是写入资料直到记录组重新被开启。 排序一个表格 您可以排序一个资料库,使用OrderBy陈述式,用索引或不用索引都可以。然而,不用索引排序的资料库一般较用索引排序的资料库速度为慢。下列的程式码案例显示如何不用索引排序一个资料库。它需要一个名为List1的清单方块。 Dimrs Setrs=CreateObject("ADOCE.RecordSet") rs.open"select*frommytableorderbyfirstfielddesc","",adOpenKeyset,adLockOptimistic Ifrs.RecordCount>0Then DoWhileNotrs.EOF List1.Additemrs.Fields("firstfield").Value rs.MoveNext Loop EndIf rs.Close setrs=Nothing 下列程式码案例显示如何在一个资料库建立一个索引,用以增加排序的速度。它需要一个名为List1的清单方块。 Dimrs Setrs=CreateObject("ADOCE.RecordSet") rs.open"createindexi1onmytable(firstfielddesc)" rs.open"select*frommytableorderbyfirstfielddesc","",adOpenKeyset,adLockOptimistic Ifrs.RecordCount>0Then DoWhileNotrs.EOF List1.Additemrs.Fields("firstfield").Value rs.MoveNext Loop EndIf rs.Close setrs=Nothing 储存与取出资讯 如要在资料库中新增、移除或变更资讯,当在开启记录组时,您必须变更预设的CursorType与LockType。下列程式码案例显示如何在资料库中储存资讯: Dimrs Setrs=CreateObject("ADOCE.RecordSet") rs.open"mytable","",adOpenKeyset,adLockOptimistic rs.Addnew rs.fields("firstfield")="ActiveXDataObjects" rs.fields("secondfield")=1.8 rs.Update rs.Close 上一篇:MicrosoftAccess秘密、技巧和陷阱 下一篇:在VB6.0中实现动态统计报表 更多相关文章
|
推荐文章
精彩文章
·统计字数
|