转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
ADOCE for ADO Programmers         ★★★★

ADOCE for ADO Programmers

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1615 更新时间:2009/4/23 10:50:21

 

ADOCE for ADO Programmers

老狼按:最近在做Pocket PC上的数据库开发,这篇文章给了我许多帮助,所以我才把它翻译出来,希望给大家一些帮助。

你是一个需要将自己的知识和代码从PC移植到Pocket PC上的ADO开发者吗?我将通过一些代码实例来向您展示ADO和ADOCE之间的相似和不同之处。

Download the 619-CF.exe from the MSDN Code Center.

What You Need

·                     Microsoft® eMbedded Visual Tools.

·                     Microsoft SQL Server 2000 Developer Edition.

·                     SQL Server 2000 Windows® CE Edition.

·                     Microsoft ADOCE (ActiveX® Data Objects CE) 3.1 included with SQL Server 2000 Windows CE Edition.

·                     To try the server-side examples, you need Microsoft Visual Studio® and ADO 2.6.

Gotchas

因为在CreateObject声明中有一处内存漏洞,所以你最好在你的程序中只创建ADOCE对象一次。在实例代码中,我将CreateObject的调用放到了每一个事件过程中,但是那只是为了比较ADO代码。

Languages Supported

English

Data Access

数据访问

大部分企业应用程序都是以数据为中心的,这意味着你需要知道如何储存信息。我的爱好是存储数据,当Pocket PC上使用的是真正的数据库——SQL Server 2000 Windows CE Edition。因此,我的第一个建议是得到你所需要的一个SQL Server 2000 Developer Edition的许可。

当你安装了SQL Server 2000 Windows CE Edition后,你将同时得到ADOCE 3.1,最新的版本。我将用它和PC上最新版的ADO 2.6进行比较。

Main Differences

主要差异

好了,让我们来首先大概地看一下重要的差别。下面是一个ADOCE不支持的ADO功能列表:

·                     Command and Parameter objects

·                     Collection objects

·                     Property object

·                     Recordset persistence (Recordset.Save)

·                     Asynchronous queries

·                     Disconnected Recordsets

·                     Dynamic creation of Recordsets

·                     Multiple queries (Recordset.NextRecordset)

对于我来说,没有的Recordset persistence意味着我不能将结果集存成Extensible Markup Language (XML)来供Pocket PC上的其他程序来调用。也许更重要的是,我不能将XML数据存入我的结果集中了。这造成了我需要进行从服务器组件中到Pocket PC上的数据转化或者相反——我也需要一些转化。我的建议是看一下Odyssey Software提供了什么。他们的Cefusion和ViaXML产品在这里都是有用的。如果你在寻找更长远(读Microsoft .NET)的方法来转换数据,你应该看一下pocketSOAP。

无论如何,大多数重要的功能在ADOCE中被实现了。现在我们来看一下在相同的数据访问环境中的一些差异。

Data Retrieval

数据获取

让我们用最常见的设想来开始——当你需要从一个数据存储中得到一些信息。在PC上,填写ListView控件的数据获取代码将会这么写:

Dim litm As ListItem
Dim laco As Connection
Dim lars As Recordset
Dim lsSQL As String
 
  '''' Add column headers
lvwArticles.ColumnHeaders.Add , , "Description", 2500
lvwArticles.ColumnHeaders.Add , , "Price", 600, lvwColumnRight
lvwArticles.ColumnHeaders.Add , , "Stock", 600, lvwColumnRight
 
'''' Create objects
Set laco = CreateObject("ADODB.Connection")
Set lars = CreateObject("ADODB.Recordset")
 
'''' Open Connection
laco.Open "Provider=SQLOLEDB;Data Source=SERVERNAME;" & _
          "Initial Catalog=DBNAME;Trusted_Connection=Yes"
 
'''' Open Recordset
lsSQL = "SELECT * FROM Article"
lars.Open lsSQL, laco, adOpenForwardOnly, adLockReadOnly
 
'''' Clear list and get item rows
Do While Not lars.EOF
  Set litm = lvwArticles.ListItems.Add(, , lars("Description").Value)
    litm.SubItems(1) = lars("Price").Value
    litm.SubItems(2) = lars("Stock").Value
  lars.MoveNext
Loop
  
'''' Close Recordset and Connection
lars.Close
laco.Close

你在Pocket PC上将这样做:

Dim litm As ListItem
Dim laco As Connection
Dim lars As Recordset
Dim lsSQL As String
 
'''' Add column headers
lvwArticles.ColumnHeaders.Add , , "Description", 2500
lvwArticles.ColumnHeaders.Add , , "Price", 600, lvwColumnRight
lvwArticles.ColumnHeaders.Add , , "Stock", 600, lvwColumnRight
 
'''' Create objects
Set laco = CreateObject("ADOCE.Connection.3.1")
Set lars = CreateObject("ADOCE.Recordset.3.1")
 
'''' Open Connection
laco.Open "Provider=Microsoft.SQLSERVER.OLEDB.CE.1.0;" & _
          "Data Source=\DBNAME.sdf"
 
'''' Open Recordset
lsSQL = "SELECT * FROM Article"
lars.Open 

[1] [2]  下一页


[系统软件]InstallShield Express for delphi制作安装程序定…  [系统软件](转帖) 忘记登录密码的解决方案 for XP/2003/2000
[系统软件]交叉编译sshd for IXP425 ARM  Platform by MVL 3…  [Delphi程序]《关于VisiBroker For Delphi的使用》(4)
[Delphi程序]一个超链接Image控件!(For D3,D4,D5,D6)源代码  [Delphi程序]Five of the best tools for Delphi
[Delphi程序]《关于VisiBroker For Delphi的使用》(3)  [Delphi程序]《关于VisiBroker For Delphi的使用》(2)
[Delphi程序]《关于VisiBroker For Delphi的使用》  [Delphi程序]Delphi for .Net 编译器预览 - by John Kaster
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台