EVC+SDK+SQL CE1

 

湖南科技大学

学士学位论文

 

 

 

基于Win CE的数据库应用研究

 

The Research of Datebase Application Based on Win CE

 

 

 

 

专业名称:计算机科学与技术

    号:0305010324

学生姓名:余

指导教师:姜   

 

 

湖南·湘潭

提交日期:20076


摘要

随着计算机技术、通信技术和微电子技术的进步,嵌入式技术取得了迅猛的发展。从MP3PDA(个人数字助理)这样的小型数字产品,到智能家电、数控机床,嵌入式技术迅速渗透到各行各业。嵌入式技术成为新的研究热点。

Microsoft公司的嵌入式操作系统Windows CE.NET是一个十分流行的嵌入式系统。它可以使用应用程序开发工具eVisual C++eVisual B++

本文将介绍嵌入式系统、SQL CE、远程数据访问技术(RDA),通过RDA技术,并利用各种网络环境,用户可以将Pocket PC中的SQL CE连接到远程的SQL Server 2000数据库,进行数据的传递。

基于上述的设计思想,运用Windows CE嵌入式操作系统,以Embedded Visual C++为开发工具,进行了RDA机制的代码设计,并且利用Stardard 模拟器提供Windows CE的仿真环境,对嵌入式数据库软件进行了测试,初步实现了RDA机制。

 

关键字嵌入式操作系统、Windows CE RDASQL CE

 


Abstract

With the improvement of the computer technology,communication technology,and Microelectronics technology,the embedded technology has made rapid progress.It applies to Intelligent Appliances,industrial control,and consumer electronics such asMP3PDA(Personal Digital Assistant)and so on.And the embedded technology becomes a hot study topic.

Windows CE.NET from Microsoft Corp.is a very popular embedded Operated System(OS).It can use the applicaiton developping tool eVisual C++eVisual B++.

This article Will introduce the embedded operating system SQL CEthe Remote Data Access of technology (RDA),through this technology, and using each of network environment,the user may connect SQL CE  in Pocket PC with SQL Server 2000, carries on the data when transmited.

Based on the designing thought, using the Windows CE  Embedded operation system, taking  Embedded Visual C++ as the development kit, it goes on the code design of  RDA mechanism,and by using the Standard simulator which provides Windows CE simulation environment , to carry on a test of the Embedded database software  , finally  realized the RDA mechanism initially.

 

Keywordsembedded operating system Windows CE RDASQL CE


目录

摘要.. I

Abstract. II

第一章  绪论.. 1

1.1 引言.. 1

1.2 国内外嵌入式系统的发展现状及未来.. 1

1.3 本文的组织结构.. 2

第二章  嵌入式系统的基本介绍.. 4

2.1 嵌入式系统概述.. 4

2.1.1嵌入式操作系统的分类.. 4

2.1.2嵌入式操作系统的特点.. 4

2.1.3嵌入式操作系统的发展.. 5

2.2常用的嵌入式操作系统.. 5

2.2.1 VxWorks. 6

2.2.2 Palm OS. 6

2.2.3 Linux. 7

2.3 Windows CE介绍.. 8

2.3.1 Windows CE的特点.. 8

2.3.2 Windows CE的优点.. 9

2.4 Windows CE用程序开发工具.. 9

2.4.1 Platform Builder. 10

2.4.2 Windows CE Application Frameworks. 11

2.4.3 Emulator. 13

第三章SQL CE技术研究.. 14

3.1 SQL CE. 14

3.2 SQL CE 安装.. 14

3.3 SQL CE的连接配置.. 16

第四章RDA技术研究.. 20

4.1 RDA技术的数据传递.. 20

4.1.1 Submit(远程T-SQL操作).. 20

4.1.2 Pull(拉数据).. 21

4.1.3 Push(推数据.. 23

4.1.4 RDA连接远程数据库.. 23

4.2 ADO与ADOCE. 24

4.2.1 ADO 技术.. 24

4.2.2 ADOCE. 25

第一章  绪论

1.1 引言

随着计算机技术的发展,更轻便、可靠的嵌入式系统已逐步进入工业控制、商务管理等领域。在过程控制方面,分布式监控系统在空间距离上也越来越大,同时,监控主机只能设置在中央控制室。在某些大型工程中,中央控制室与最远的前端控制设备相距数千米。系统调试维护人员在调试或维护过程中总是忙于中央控制室与前端设备之间,这也显现出大型分布式系统浪费人力、物力的缺点。开发出相对便捷的手持网络管理终端是解决这种弊端的一个好方法。这种手持网管终端与那些内置计算机芯片的仪器仪表、区域控制器、电子设备有所不同 ,它们具有独立的嵌入式操作系统和相应的嵌入式数据库应用程序的支持[2] [11]

1993年,Apple公司推出了第一台真正意义上的PDANewton MessagePad。他拥有自己的操作系统和应用程序,拥有手写识别功能、一个modem用于连接internet,还有一个红外线接口。同时,它还可以与PCMac同步。这款PDA是具有划时代意思的产品。后来由于市场策略失误,Apple公司放弃了Newton项目。在这之后,很多公司都推出自己的PDA产品和专用操作系统,Palm成为其中的佼佼者,他们的PalmOS一直以来都占有一半以上的市场份额。

微软公司也相应的推出了Windows CE系列操作系统与PalmOS抗衡,其最新版本是Pocket PC2003。由于习惯于使用Windows环境的用户比较容易接受Windows CE,而且Windows的应用软件开发商也可以方便的将软件移植到Windows CE,因此Windows CE越来越广泛。

数据同步已经成为移动计算的一种基础应用模式。但由于在移动环境中设备多样,需要交互的数据也千差万别,再加之连接特性很不稳定,这就要求用标准的方法来实现数据同步,使之能成为移动计算环境中的一个基础设施[16]

当今实现数据同步的技术主要是通过无线通信技术:红外和蓝牙。本文将通过RDA机制,从数据的底层实现数据同步。我们在Startard SDK中加载了SQL Server CE作为Startard SDK的数据库,在Windows XP中加载了SQL Server 2000作为普通台式计算机的数据库,同时采用eVisual C++4.0作为研究的开发平台,Startard SDK与普通PC计算机之间的数据同步就能RDA机制实现。

1.2 国内外嵌入式系统的发展现状及未来

近年来,嵌入式实时系统在个人数据处理、多媒体通信、在线事务处理、生产过程控制、交通控制等各个领域内得到了广泛的应用,各种相关的嵌入式产品纷纷涌现。嵌入式系统越来越引起人们的重视。

当前,嵌入式系统正处在一个飞速发展和激烈竞争的时代,未来的几年里这种发展和竞争将达到白热化的程度。就嵌入式系统的技术和市场来说,国外发展速度极快,技术日趋成熟,市场格局基本形成。而国内发展也在快速增长,市场潜力很大。在国外,嵌入式系统硬件,特别是嵌入式CPU的处理能力提升较快,由8位、16位升级到32位与64位,掌上电脑、PDA、电脑手机、电脑汽车等新产品层出不穷,产业规模日益壮大。在国内,嵌入式系统关键硬件主要靠国外引进,技术基础比较薄弱。然而,国内的个人数字助理(PDA)市场火爆,联想掌上电脑、海信机顶盒、数源机顶盒等产品进入市场后也获得用户好评、手机电脑市场前景看好[20]

作为嵌入式系统核心的嵌入式实时操作系统是开发嵌入式应用的关键环节。在这个领域内,没有像通常操作系统市场中Windows系统那样一支独秀的商品。因此,目前国内外相继推出了很多商业性嵌入式系统,都在努力地为自己争取着嵌入式市场份额。国内比较成熟的实时系统Delta OS等都有成熟的开发平台,已经在一些领域内取得了广泛的应用。同时,由于专用实时操作系统价格昂贵及代码不公开,使Linux在嵌入式应用中占有一席之地。由于Linux本身有诸多优势,吸引了许多开发商的目光,成为嵌入式操作系统的新宠。它的出现无疑为国家发展嵌入式操作系统事业提供了一个极有吸引力的机会。

此外,嵌入式数据库(或称移动数据库)也是一个非常重要的研究方向。一些商业数据库(如SybaseOracle SQL Server 2000)都已推出了移动数据库产品,以支持嵌入式数据处理要求。国内有一些单位,如中科院、人民大学、浙江大学等正在开展这方面的研究。在国内,大规模的嵌入式应用系统目前还非常少。预计今后系统应用将重点转向基于Internet的各种嵌入式应用系统和信息家电领域,包括浏览Internet、网上政券交易、IP PhoneVOD点播等[8]

勿庸置疑,嵌入式系统应用正进入飞速发展的时代。

1.3 本文的组织结构

全文共分为六章,各章节内容安排如下:

第一章 绪论,介绍嵌入式的产生、发展及未来的趋势。

第二章 嵌入式系统的基本介绍,介绍嵌入式系统的概念与特点、嵌入式的分类、嵌入式操作系统的发展,紧接着对当今流行的嵌入式操作系统进行介绍,最后对本次系统设计选用Windows CE的优点作一些说明。

第三章SQL CE介绍,先基本介绍SQL CE,其次简单对SQL CE安装进行说明,最后对SQL CE的连接设置进行说明。

第四章 RDA机制介绍,RDA做为数据传送的一种机制,分别介绍RDA传送数据的几种类型:submitpullpush

第五章 学生远程管理系统,本章通过一个程序向大家展示RDA机制,实现SQL Server 2000SQL CE数据传递。

第六章 总结与展望,对在整个毕业设计中遇到常见的问题进行说明,并对嵌入式的前景展望。


第二章  嵌入式系统的基本介绍

操作系统是充当计算机用户和计算机硬件之间的一个中介,并用于管理计算机资源和控制应用程序运行的计算机程序。嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统的重要组成部分。

2.1 嵌入式系统概述

嵌入式操作系统具有通用操作系统的基本特点,能够有效管理复杂的系统资源,完成进程管理、处理器调度、存储管理、设备管理、中断处理等操作系统任务。它通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等软件模块。嵌入式操作系统能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点[13]

2.1.1 嵌入式操作系统的分类

1.嵌入式操作系统从应用的角度可分为通用型嵌入式操作系统和专用型操作系统。通用型嵌入式操作系统一般要经过定制,以适应具体环境的要求;专用型操作系统是针对应用较为广泛、环境变化相对较小的嵌入式环境而设计,可直接应用而不经裁减。常见的通用型嵌入式操作系统有LinuxVxworksWindows CE.NET等。常用的专用型嵌入式操作系统有Smart PhonePocketPcSymbian等。

2.嵌入式操作系统按实时性可以分为两类:

(1)实时嵌入式操作系统。它主要面向控制、通信等领域。如WindRiver公司的VxWorksISIpSOSQNX系统软件公司的QNXATINucleus等。

(2)非实时嵌入式操作系统。它主要面向消费类电子产品。这类产品包括个人数字助理(PDA)、移动电话、机顶盒、电子书、WebPhone等。如微软面向手机应用的Smart Phone操作系统[3]

2.1.2 嵌入式操作系统的特点

综合来讲,嵌入式操作系统一般具有以下特点。

1.可定制性

因为嵌入式系统环境的要求,嵌入式操作系统一般需要提供可添加或可裁减的内核及其他功能,能够让用户根据需要自行进行配置。

2.可移植性

目前的嵌入式微处理器种类很多,每种微处理器都有其市场,所以嵌入式操作系统要支持尽可能多的微处理器,这样才能使用户具有硬件选择的灵活性。为了做到操作系统的可移植性,操作系统在硬件支持方面通常采用硬件抽象层(HAL)和板级支持包(BSP)的结构设计方法。比如内存管理,内存分页的单位会因CPU而异,但通过调用内存管理函数,用户可以不考虑具体细节就能够分配、使用内存。

3.实时性

实时性是嵌入式系统环境的现实要求。不满足一定的实时性,嵌入式操作系统就无法应用到一些环境中去。当然,实时性是相对的,有的嵌入式环境实时性要求并不高。比如Windows CE.NET,它能够满足95﹪的嵌入式系统的实时性要求。

4.低资源占有性

相对其他计算机而言,嵌入式设备一般都配有少量的RAM、频率较低的微处理器、很小的永久存储空间甚至没有。系统资源少的特点决定了嵌入式操作系统必须尽可能的减小资源占有率[3]

2.1.3 嵌入式操作系统的发展

嵌入式操作系统的发展,是与嵌入式系统的发展密切相关,它们都是当代计算机技术飞速发展而带来的硬件小型化、微型化,以及软件技术深入发展的产物。真正意义上的嵌入式系统是在20世纪70年代出现的。它的发展可以分为以下四个阶段:

第一阶段是以单芯片为核心的可编程控制系统,它具有检测、伺服、指示设备相配合的功能。

第二阶段是以嵌入式中央处理器(CPU)为基础,以简单操作系统为核心的嵌入式系统。这一阶段系统的主要特点是:CPU种类繁多、通用性较弱、系统开销小、操作系统只有低度的兼容性和扩展性、应用软件较为专业、用户界面不够友好。

第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段的主要特点是:嵌入式操作系统能够运行于各种不同类型的处理器之上、内核开销小、效率高、模块化高,具有高度的模块化和可扩展性。

第四阶段是以网络应用嵌入式操作系统为标志的嵌入式系统,这一阶段以网络的大量应用为标志,并呈现出多种形态,是一个正在发展的阶段。嵌入式操作系统在嵌入式系统的发展过程中发挥着重要作用,是嵌入式操作系统的发展带动了嵌入式系统的发展。但嵌入式操作系统本身的发展并没有明确的划分,它是伴随着微机操作系统的发展及软件技术、网络技术的进步而发展起来的。

2.2常用的嵌入式操作系统

嵌入式操作系统种类繁多,有资源开销很少的IC卡操作系统,也有功能较强的网络计算机操作系统。这些嵌入式操作系统从功能到性能各具特色,为各种硬件环境及应用提供了相应的支持和服务。以下介绍几种常见的嵌入式操作系统:VxWorksWindows CEPalm OSLinux[15] [19]

2.2.1 VxWorks

在众多的实时操作系统中,WindRiver公司的VxWorks是较为特色的一种实时操作系统。VxWorks支持各种工业标准,包括POSIXANSI CTCP/IP网络协议。VxWorks运行系统的核心是一个高效率的微内核,该微内核支持各种实时功能,包括快速多任务处理、中断支持、抢占式和轮转式调度。微内核设计减轻了系统负载并可快速响应外部事件。在美国宇航局的“极地登陆者”号、“深空二号”和火星气候轨道器等登陆火星探测器上,就采用了VxWorks,负责火星探测器全部飞行控制,包括飞行纠正、载体自旋和降落时的高度控制等,而且还负责数据收集和与地球的通信工作。目前在全世界装有VxWorks系统的智能设备数以百万计,其应用范围遍及互联网、电信和数据通信、数字影像、网络、医学、计算机外设、汽车、火控、导航与制导、航空、指挥、控制、通信和情报、声纳与雷达、空间与导弹系统、模拟与测试等众多的领域。

2.2.2 P alm OS

Palm OSPalm公司的一种32位的嵌入式操作系统。Palm提供了串接口和红外线传输接口,利用它可以方便地与其它外部设备通信、传输数有开放的OS应用程序接口,开发商可根据需要自行开发所需的应用程序OS是一套具有强开放性的系统,现在有大约数千种专用为Palm OS编写程序,从程序内容上看,小到个人管理、游戏,大到行业解决方案,Palm无所不包。在丰富的软件支持下,基于Palm OS的掌上电脑功能得以不断扩展。Palm OS是一套专门为掌上电脑开发的OS。在编写程序时,Palm OS14嵌入式系统的应用程序设计研究虑了掌上电脑内存相对较小的情况,因此它只占有非常小的内存。由于基于PalmOS编写的应用程序占用的空间也非常小(通常只有几十KB),所以,基于Palm OS的掌上电脑(虽然只有几MBRAM)可以运行众多应用程序。由于Palm产品的最大特点是使用简便、机体轻巧,因此决定了Palm OS应具有以下特点。

1)操作系统的节能功能。由于掌上电脑要求使用电源尽可能小,因此在Palm OS的应用程序中,如果没有事件运行,则系统设备进入半休眠(doze)的状态;如果应用程序停止活动一段时间,则系统自动进入休眠(sleep)状态。

2)合理的内存管理。Palm的存储器全部是可读写的快速RAM,动态RAMDynamic RAM)类似于PC机上的RAM,它为全局变量和其它不需永久保存的数据提供临时的存储空间;存储RAMStorage RAM)类似于PC机上的硬盘,可以永久保存应用程序和数据。

3Palm OS的数据是以数据库(Database)的格式来存储的。数据库是由一组记录(Records)和一些数据库头信息组成的。为保证程序处理速度和存储器空间,在处理数据的时候,Palm OS不是把数据从存储堆(Storage Heap)拷贝到动态堆(Dynamic Heap)后再进行处理,而是在存储堆中直接处理。为避免错误地调用存储器地址,Palm OS规定,这一切操作都必须调用其内存管理器里的API来实现。

Palm OS与同步软件(HotSync)结合可以使掌上电脑与PC机上的信息实现同步,把台式机的功能扩展到了掌上电脑。Palm应用范围相当广泛,如:联络及工作表管理、电子邮件及互联网通信、销售人员及组别自动化等等。Palm外围硬件也十分丰富,有数码相机、GPS接收器、调制解调器、GSM无线电话、数码音频播放设备、便携键盘、语音记录器、条码扫描、无线寻呼接收器和探测仪等。其中PalmGPS结合的应用,不但可以作导航定位,还可以结合GPS作气候的监测、地名调查等工作

2.2.3 Linux

Linux是个与生俱来的网络操作系统,成熟而且稳定。Linux是源代码开放的软件,不存在黑箱技术,任何人都可以修改它,或者用它开发自己的产品。Linux系统是可以定制的,系统内核目前已经可以做得很小。一个带有中文系统及图形化界面的核心程序也可以做到不足1MB,而且同样稳定。Linux作为可裁剪的软件平台系统,是发展未来嵌入式设备产品的绝佳资源,遍布全球的众多Linux爱好者又能给予其开发者强大的技术支持。因此,Linux作为嵌入式系统新的选择,是非常有发展前途的。

1.开放的源代码。

嵌入式Linux的一大特点是:代码的开放性。代码的开放性是与后PC时代的智能设备的多样性相适应的。代码的开放性主要体现在源代码可获得上,Linux代码开发就像是一种“集市式”开发,任意选择并按自己的意愿整合出新的产品。对于嵌入式Linux,事实上是把BIOS层的功能实现在Linux的驱动层。

目前,在Linux领域,已经出现了专门为Linux操作系统定制的自由软件的BIOS代码,并在多款主板上实现此类的BIOS层的功能。

2.嵌入式Linux与硬件芯片的紧密结合

嵌入式Linux的另一大特点是:与硬件芯片(如SOC等)的紧密结合。它不是一个纯软件的Linux系统,而比一般操作系统更加接近于硬件。嵌入式Linux的进一步发展,逐步地具备了嵌入式RTOS的一切特征:实时性及与嵌入式处理器的紧密结合。对于许多信息家电的应用来说,嵌入的性能指标是最难满足的,以至于靠提高芯片的集成度与装配密度来解决。嵌入式Linux与标准的Linux的一个重要区别是嵌入式Linux与硬件芯片的紧密结合。这是一个不可逾越的难点,也是嵌入式Linux技术的关键支持。嵌入式Linux和商用专用RTOS一样,需要编写BSP(板级支持包),这相当于编写PCBIOS。这不仅是嵌入式Linux的难点,也是使用商用专用RTOS开发的难点。硬件芯片(SOC芯片或者是嵌入式处理器)的多样性也决定了代码开放的嵌入式Linux的成功。嵌入式系统的发展,必然导致软硬件无缝结合的趋势,逐渐的模糊了硬件与软件的界限,在将来可能出现SOC片内的操作系统代码模块。

随着处理器片内微码的发展,将来在处理器片内嵌进操作系统的代码模块,将具有安全性好、健壮性强、代码执行效率高等特点。着眼于未来的嵌入式系统的发展,我们基于对嵌入式Linux技术的深入研究,对嵌入式处理器及SOC系统的深刻理解和研究;对EDA技术的深入研究;对模拟数字混合集成电路芯片的深入研究;对SOC片内进行嵌入式Linux操作系统代码的移植研究。此类的研究有可能减轻系统开发者对BSP开发的难度要求,并使得嵌入式Linux能够成为普及的嵌入式操作系统,而大大提高嵌入式Linux的使用性,提高其开发出的高智能设备的安全性、稳定性,同时也大大提高智能设备的计算能力、处理能力。

2.3 Windows CE介绍

Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作。它是精简的Windows 95Windows CE的图形用户界面相当出色。其中CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)。与Windows 95/98Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows 95/98,但Windows CE是基于Win32 API重新开发的、新型的信息设备平台。Windows CE具有模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点。

Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual BasicVisual C++等)、使用同样的函数、使用同样的网格界面,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。

Windows CE的设计目标是:模块化及可伸缩性、实时性能好,通信能力强大,支持多种CPU。它的设计可以满足多种设备的需要,这些设备包括了工业控制器、通信集线器以及销售终端之类的企业设备,还有照相机、电话和家用娱乐第三章嵌入式操作系统及硬件平台器材之类的消费产品。一个典型的基于Windows CE的嵌入系统通常为某用途而设计,并且在不联机的情况下工作。它要求所使用的操作系统体积内建有对中断的响应功能[15]

2.3.1 Windows CE的特点

    Windows CE的特点有:

1)具有灵活的电源管理功能,包括睡眠/唤醒模式。

2)使用了对象存储(object store)技术,包括文件系统、注册表及数据库具有很多高性能、高效率的操作系统特性,包括按需换页、共享存储处理同步、支持大容量堆(heap)等。

3)拥有良好的通信能力。广泛支持各种通信硬件,亦支持直接的局域连拨号连接,并提供与PC、内部网以及Internet的连接,还提供与Window的最佳集成和通信。

4)支持嵌套中断。允许更高优先级别的中断首先得到响应,而不是等待低ISR完成。这使得该操作系统具有嵌入式操作系统所要求的实时性。

5)更好的线程响应能力。对高级别IST(中断服务线程)的响应时间上限更加严格,在线程响应能力方面的改进,帮助开发人员掌握线程转换的间,并通过增强的监控能力和对硬件的控制能力帮助他们创建新的嵌入程序。

6256个优先级别。可以使开发人员在控制嵌入式系统的时序安排方面有灵活性。

7Windows CEAPIWin32 API的一个子集,支持近1500Win 32 A 了这些API,足可以编写任何复杂的应用程序。当然,在Windows CE系所提供的API也可以随具体应用的需求而定。

在掌上型电脑中,Windows CE包含如下一些重要组件:Pocket Outlo组件、语音录音机、移动频道、远程拨号访问、世界时钟、计算器、多种输GBK字符集、中文TTF字库、英汉双向词典、袖珍浏览器、电子邮件、Pocket系统设置、Windows CE Services软件。

2.3.2 Windows CE的优点

Windows CE 作为微软(R) Windows(R) CE 是一个开放且多样化的32位嵌入式操作系统 ,与其他嵌入式系统相比有着特殊的先进性。

第一:Windows CE是开发难度相对较低,人们已经习惯了Windows编程,Windows CE就是Windows的一个裁减版本。而其他系统需要很高的技术实力。

第二:Windows CE拥有很好的用户图形界面,人们已经习惯了使用Windows用户界面,这样大家很容易实现对系统的操作。而Linux系统核心调试工具不全,调试不太方便,尚没有很好的用户图形界面。

第三:互操作性比较强,Windows CE可通过OEM的许可协议使用其他设备。这相对于其他的嵌入式系统是很难做到的。

第四:应用领域广。Windows CE是为新一代非传统的PC设备而设计的,这些设备包括掌上电脑、手持电脑以及用于车载电脑等。

第五:Windows CE具有更好的裁减性。当裁减其系统的一些性能时,不会引起相应的问题,而与某些商业OS 一样,嵌入式LinuxPalm OS占用较大的内存,当然,人们可以去掉部分无用的功能来减小使用的内存,但是如果不仔细,将引起新的问题;

2.4 Windows CE应用程序开发工具

开发工具是Windows CE.NET的重要组成部分,Windows CE的开发工具功能强大和完善,在使用上也方便易用,主要有以下几个重要的开发工具[21] [1]

2.4.1 P latform Builder

Platform Builder用于构建基于Windows CE操作系统的嵌入式平台,辅助开发特定硬件平台的Windows CE操作系统和基本应用环境。从工具的角度看,这是一个集成开发环境,包括了基本的文本编辑能力、多目标编译调试工具包、特定编辑器、SDK导出工具、向导工具以及用于测试、性能分析的多个工具包。下面列表给出了Platform Builder中包含的开发工具:

1.新建平台向导帮助创建一个新的平台。

2BSP向导使创建一个板级支持包(BSP)更简单有效。

3.目录列出了可以用来制定平台的操作系统特性。

4.自动的依赖性检查保证支撑一个平台的所需特性都被包含到操作系统镜像中。

5.导出向导向其他Platform Builder用户导出用户的目录特性。

6.基本的配置提供了创建用户OS的开始点。

7indows CE Test Kit提供了一个驱动测试的集合。

8.内核调试器用来调试用户OS镜像并且提供测评镜像性能的信息。

9.应用程序调试器用来在已定制的OS镜像上调试应用程序。

10.远程工具执行在Windows CE目标设备上的各种调试和信息收集任务。

11.仿真器通过模拟硬件加速简化了开发工作,它允许用户在开发平台上测试OS和应用程序。

12.导出SDK向导帮助用户定制一个软件开发工具包(SDK),可安装到Embedded Visual C++上支持应用程序开发。

使用Platform Builder集成开发环境

1-1描述了用Platform Builder创建WinCE平台的流程。

创建一个基于Microsoft Windows CE.NET的操作系统,必须完成以下几个

主要步骤:

1.用带标准开发板(SDB)配置的WinCE创建平台。

2.添加工程和目录特性定制平台。

3.编译OS镜像,下载到SDB里,用IDE的调试工具来调试平台镜像。

4.为即定目标设备创建引导程序和板级支持包(BSP

5.再用新的BSP编译OS镜像,把它下载到目标设备,并调试平台。

6.平台调试完毕,为应用程序开发者导出软件开发包(SDK)。

1-1平台定制流程

2.4.2 Windows CE Application Frameworks

应用程序开发平台主要有eVBEvc,都具有诸多特性,包括对MFCATL以及COM/DCOM的支持,应用程序向导,编译调试等多种功能。

在开发Windows CE程序时必须首先考虑程序将运行在哪种平台处理器上,要了解硬件平台的配置。开发者所使用的SDK会考虑到平台与处理器的特性。由于Windows CE是一个模块化的操作系统,源设备厂商可选择特定的模块与组件来配置Windows CE设备。安装相应的SDK可针对具体设备进行开发,且每个SDK都有一个基于桌面的目标平台仿真器,用于应用程序的调试。仿真器是在设备上开始应用程序调试之前原型化与调试应用程序极好的工具。[21] [22]

典型的Windows CE应用程序开发周期:首先是为选择的仿真器进行编译(必须为仿真器做一次特殊的编译);接着,尽可能在仿真器中完整地测试并调试应用程序;最后,当确信应用程序准备好了时,将它下载到目标设备中并重复上述过程。在目标设备上的调试是相当耗时的,所以在仿真器上调试有利于程序开发。

SDK当前提供的一些工具是:

1Remote File Viewer(远程文件浏览器),CE设备的一个基于桌面的Explorer

2Remote Heap Viewer(远程堆栈浏览器),它允许浏览设备上的堆栈分配信息。

3Remote Process Viewer(远程处理浏览器),CE的一种基于桌面的任务管理器

4Remote Registry Editor(远程注册表编辑器),它允许编辑CE设备的注册表

5Remote Spy++(远程侦查),允许在CE设备上查看类信息和各种窗口(包括隐藏的和活动的)的信息

6Remote Zoom in,一种用于截取运行在设备上的程序屏幕的工具。

l        eVB开发环境

eVBWindowsCE的一种开发语言,程序开发工具主要由微软提供。eVB支持使用VB语言编写的应用程序,得到的代码在运行时解释。eVB是一种脚本语言,而不是具备全部功能 VB语言。eVB在默认情况下,所有变量均为Variant类型,严格类型不受支持。

eVB开发环境与 VB开发环境的差异

由于Windows CE系统在内核实现、内存管理、文件系统等方面与 Windows 98/NT/XP操作系统有很大的不同,这对程序员来说就意味着在编码和各种控件的使用方法上有很大的不同。eVBVB开发环境的差异主要是:

AeVB开发环境与 VB开发环境类似 , eVB在界面、语法和开发流程上与 VB十分相似,但 eVB可利用的资源比VB少,概括地讲, eVB语法是VB语法的子集,有许多VB支持而 eVB不支持的语法,例如 eVB不支持OnError GotoLabeleVB支持常用的VB函数和运算符。

BeVB上有几个内部控件可使用,控件的使用方法与VB基本相同。eVB支持ActiveX控件。但PC机上的 ActiveX控件*.dll*.exe等不能用在 PocketPC上。不同CPU类型的Pocket PC上的*.dll*.exeActiveX也不尽相同。

C:很多方法和控件在eVB中的功能有限或不支持,例如 eVB不支持数组控件。eVB中不支持 Unload方法,所以很难在程序结束时对系统中的对象进行删除操作。

DeVB较重要的特性体现在数据库的编程上eVB环境下支持两种数据库 ——Pocket Access SQL Server 2000 for CE。这两种数据库和PC机的 AccessSQL Server 2000有所不同 ,但它们可以与 PC机的 AccessSQL Server 2000进行数据转换。另外,CE数据库引擎和常用数据库引擎有所不同,这主要体现在引擎的组织和数据的命名上。在安装 eVB的同时,要安装 1个或多个基于 WindowsCE 3. 0平台的 SDK 系统开发工具包 。每个 SDK都提供 ActiveX控件、运行时和仿真器,以用于特定 WindowsCE平台。仿真器可以使一切开发和测试工作在 PC机中方便地进行,而不必使用具体设备。

l        Embedded Visual C++

由于嵌入式系统资源有限,C++编译器效率高、性能好,Embedded Visual C++EVC)便成了其应用程序最广泛的开发工具。eMbedded Visual C++是由一套整合的窗口(windows) 工具(tools)、选单(menus)、工具列(toolbars)、目录(directories)和其它组件所组成,并用以帮助我们建立、开发、测试和侦错Windows CE .NET的应用程序。

利用eMbedded Visual C + + 4. 0能开发与Visual C + +相似的在 Windows CE. net运行的应用程序,另外还包括所开发对于Windows CE平台和装置的应用程序时所用的帮助工具。eMbedded  VisualC + +4. 0中所带的应用程序向导是一个非常有用的工具,可以利用它们来快速的创建一个基本的应用程序、动态链接库( DLL) 或者组件应用程序外壳。这些应用程序向导包括:WCE MFC向导(.dll )WCE动态链接库向导;WCE静态链接库向导;WCE ATL COM应用向导;WCE MFC ActiveX控件向导和 WCE MFC向导(exe ) [7] [3]

2.4.3 Emulator

Emulator是桌面Windows系统上的一个应用程序,它可以运行经过特定编译处理的Windows CE.NET系统。Emulator提供了相当多的硬件特性模拟,例如显示、声音、USB接口、网络等等。它和Platform Builde以及Embedded Visual C++均可集成在一起,通过KITL可调试器相连充当目标平台。这样,开发者就可以脱离实际硬件开发、调试、测试基于Windows CE.NET的应用,当硬件平台和基本操作系统环境建造完成后,这些应用几乎不用修改就可以很好的工作,这使得大大缩短了开发周期。经常用到的模拟器有:Startard SDKPocket PC 2003


第三章SQL CE技术研究

3.1 SQL CE

SQL Server CE 全名是Microsoft SQL Server 2000 Windows CE Edition,它为移动智能设备和嵌入式设备提供了一种存取轻量级数据库的解决方案。通过使用Microsoft Visual Studio .NET 或者 Microsoft eMbedded Visual Tools等开发工具,我们可以将SQL Server的企业数据管理能力扩展到基于Windows CE的智能平台之上。SQL Server CE可以应用到三种典型的环境中:
  1、开发环境,即用于开发基于SQL Server CE程序的桌面PC,该桌面PC必须包括Microsoft Visual Studio .NET或者Microsoft eMbedded Visual Tools 3.0Pocket PC SDK开发工具;
  2、客户端环境,是用于运行基于SQL Server CE程序的Pocket PC设备,当设备没有可用的网络连接时,可以使用Microsoft ActiveSync来与服务器环境桌面PC进行线缆连接;
  3、服务器环境,是运行Microsoft Internet Information 服务(IIS) Microsoft SQL Server实例的计算机,可以将IISSQL Server部署在同一台已算机上,也可以分别配置到多台计算上。RDA和合并复制都需要通过IIS来与SQL Server进行通信。[4] [10]

31  SQL Server CE环境

3.2 SQL CE 安装

如果要安装SQL Server CE2.0,则需要在Server端和Client端均安装相应的软件。在Server端(PC端)需要的软件环境可以是Windows XP+IIS+SQL Server2000+ SQL Server2000 sp3+ SQL Server CE2.0+ SQL Server CE2.sp3

在安装SQL Server CE2.0时,只需要安装Development Tools即可,因为服务器端工具将需要用SQL Server CE 2 SP3来安装。安装完SQL CE Development Tools工具后,再运行SQL Server CE2.sp3安装程序,并安装SQL Server CE服务端管理工具。

客户端的安装也就是CE上的安装,在此以安装标准的SDK模拟器为例进行说明。

1)将SQL Server CE文件拷贝到模拟器中。在…/Microsoft SQL Server CE2.0/Device/X86/I486目录下将会存在如表  所示的文件

31  SQL Server CE2.0 所需要的文件

文件名

说明

Ssce20.dll

必须注册

Ssceca20.dll

在复制和远程数据访问时需要,必须注册

Ssceerror20en.dll

在开发期间提供错误信息

Isqlw20.exe

SQL Server CE数据库查询分析工具

Dllregediter.exe

用于在CE设备上注册SQL Server CE

    可以首先将Ssce20.dllSsceca20.dllSsceerror20en.dll文件拷贝到模拟器中的Windows目录下,然后再将Isqlw20.exeDllregediter.exe文件拷贝到模拟器中的Windows/StartUp目录下.

(2)ADOCEOLE DB文件拷贝到模拟器中。在../ Data Access 3.1/Program Files/DataAccess31/DEVICE/x86/i486/CE/RETAIL目录下将会存在如表 所示的文件。

32  ADOCEOLE DB文件

文件名

说明

 

Msdaeren.dll

可选,用于反馈错误信息,Msdaeren.dll是一个英文版本的ADOCE错误信息,想要本地化错误信息,只需要相应的Msdaeren.dll文件来替换即可。

Adoce31.dll

必须

Adoceoledb31.h

必须

Adoxce31.dll

必须

 

通过通过EVC主菜单Tools|RFV拷贝文件到模拟器,如图32  所示

                  32 Remote File Viewer 远程工具

还需要把Msdaeren.dllAdoce31.dllAdoceoledb31.hAdoxce31.dll文件拷贝到模拟器中的Windows目录下,最后通过模拟器的“开始”菜单运行dllregediter应用程序(如图图33 所示),变完成了SQL Server CE 2.0的注册安装。

                             33 isqlw20 注册数据库

3.3 SQL CE的连接配置

在完成SQL Server CE 2.0的安装后,需要在服务器端对SQL Server CE进行连接配置的工作。下面逐步介绍链接配置的过程。

1)通过“开始”菜单中的 Microsoft SQL Server CE 2.0Configure Connectivity Support in IIS项打开SQL Server CE连接配置管理工具。在管理工具中,双击Create a Virtual Directory 项打开如图34所示的创建虚拟目录向导对话框,在对话框中单击Next按纽。

34 创建虚拟目录

2设定虚拟目录别名以及实际所指向的目录。在这里把别名定义为sqlce,把包含Sscesa.dll文件的目录设置为C:/Program Files/Microsoft SQL Server CE 2.0/Server/,该目录中必须包含有Sscesa.dll文件,如图35 所示,设置完成后,单击Next按纽。

35设置虚拟目录文件名

3)指定虚拟目录的访问权限。在如图36 所示的界面中,向导提供了如下三种认证方式:

AAnonymous acess:匿名访问,用户访问时不需要用户名和密码。

BBasic authentication:基本认证。每一个SQL Server CE客服端必须提供一个合法的Windows用户名和密码,IIS通过此用户名和密码来确认SQL Server CE 客服端的合法性。需要认证的用户名和密码在网络中以base64编码方式传递。

CIntegrated Windows authentication: 这种认证方式与Basic authentication认证方式基本相同,唯一的区别在于:在这种认证方式下,需要认证的帐户和密码将不在未加密的网络平台中传递,从而免去了密码被中途截获的风险。

这里选择“匿名访问”方式,然后单击Next按纽。

36 设置虚拟目录访问权限

4 在如图37 所示的向导中,为SQL Server快照目录设置NTFS读写权限,在此选中One or more  applications requiring SQL Server merge  replication复选框,然后单击Next按纽。

37 设置读取权限

5)设置快照目录。快照目录是以网络路径形式给出,拥护应该在硬盘上共享一个具有读写权限的共享目录,如图38 所示,然后单击Next按纽。(第一个为机器名ADMIN,第二个参数为共享文件的文件名share

38设置快照目录

 

 

6)设置结束。在IE窗口中输入:http://localhost/sqlce/sscesa20.dll 如果页面显示:SQL Server CE Server Agent 表示安装成功;如图39所示。

39 验证SQL CE连接配置
第四章RDA技术研究

远程数据访问,即Remote Data Access(简称为RDA),这项技术在Windows CE 2.11版本时已经存在,在SQL Server 2000 For CE 出现后,它的功能便更加丰富了,通过使用这项技术。并利用各种网络环境,用户可以将Pocket PC连接到远程SQL  Server 2000数据库。如果用户是第一次进行连接,则移动设备会从SQL Server 2000 上下载需要查询的数据;如果不是第一次查询,移动设备则会对比本地数据库和远程数据库中的内容。并更新远程数据库中的信息。

4.1 RDA技术的数据传递

通过RDA 技术,可以完成以下几种类型的数据传递:

    从服务器端下载数据。当移动设备上的本地数据库无内容时,可以通过RDA技术从远程SQL Server 2000服务器下载初始化数据到本地SQL Server CE数据库。例如,应用程序利用RDA技术下载终端用户登陆数据和产品原始数据到本地移动数据库中,从而完成系统的初始化。如果没有这个最初的初始化步骤,系统将无法登陆。

向服务器上传数据。移动设备上的应用程序在初始化后能够让操作员登陆并使用系统。操作员录入和采集信息(如GPS的信息和条形码的信息)都将被保存在移动数据库中,此时,也可以利用RDA技术将本地数据上传到SQL Server 2000服务器端。值得注意的是,我们在设计服务器端数据库时,在参加同步的表中不能存在自增量字段,否则容易造成上传数据失败,原因是不同的移动设备会对表中的同一个字段做自增。

    更新服务器端数据。有的时候,在多个移动设备上的数据库和服务器端的数据库中都可能存在同一条记录,这时服务器的记录将以最后一次同步移动设备中的记录为准。

下达无返回的TSQL命令操作远程服务器(Submit SQL)。在移动设备上的应用程序能够利用T-SQL命令远程操作SQL Server 2000数据库。这项功能非常实用,我们通常需要在采集数据时记录当前时间,但是如果存在多个移动设备时,各个移动设备的机器时间又可能是不统一,对这种情况的解决方案就是在每次数据同步时,利用Submit SQL技术刷新服务器时间,下载这个时间并同时设定为移动设备的时间[13]

RDA 架构图  如图41所示。

4.1.1 Submit(远程T-SQL操作)

Submit方法可以执行远程SQL语句,也就是可以将SQL语句传递到服务器上直接执行,Submit参数说明如表41,其定义如下:

Virtual /*  [id]  */ HRESULT STSMETHODCALLTYPY  Submit(

      /*  [in]  */ BSTR SQLString,

/*  [in]  */BSTR OLEDBConnectionString=0

 

41  Submit参数说明

属性

说明

SQLString

表示要执行的SQL语句

OLEDBConnectionString

为连接到SQL Server服务器的连接字符串

41  RDA架构图

4.1.2 P ull(拉数据)

    拉数据就是Windows CE SQL Server 服务器获取数据的过程,这里也可以理解从服务器中下载数据。用户不必关心这之间的处理过程,只需要调用ISSCERDA接口的pull方法即可。Pull参数说明如表42Pull方法的定义如下:

 Virtual /*  [id]  */ HRESULT STSMETHODCALLTYPY  Pull(

     /*  [in]  */ BSTR LocalTableName,

/*  [in]  */ BSTR SQLSelectString,

/*  [in]  */BSTR OLEDBConnectionString,

/*  [defaultvalue][in]  */ RDA_TRACKOPTION TrackOption

/*  [defaultvalue][in]  */BSTR ErrorTableName)=0;

42  Pull参数说明

参数

说明

LocalTableName

将从服务器获取数据存储到此表中。如果此表已经存在,将会发生错误。

SQLSelectString

表示从服务器获取数据的SQL表达式,它将控制从服务器取得什么数据。同时也支持那些返回结果集的存储过程和视图。如果是将服务器中的多个表的数据传递到CE中的一个表,那么应将TRACKOPTION的参数值设置成为TRACKINGOFF,表示获取后的数据不能再上传到服务器。

OLEDBConnectionString

连接到SQL Server服务器的连接字符串

RDA_TRACKOPTION

表示SQL Serve CE是否跟踪存储获取服务器数据的表(LocalTableName)的变化。它取值是一个枚举值,具有如表43 所示的四个取值。

ErrorTableName

表示CE本地错误表名。在以后调用Push方法向服务器提交变化数据时。如果发生错误,此错误表将被创建,并被写入错误信息。如果调用Pull方法时,此错误表已经存在,将会发生错误。

43   参数TrackOption的取值

常量

说明

 

TRACKINGON

1

对于接收到数据的表,SQL Serve CE将跟踪所有的变化,主键约束将根据SQLSelectString被执行而被创建。此值默认值。

TRACKINGOFF

0

对于接收到数据的表,SQL Serve CE将不跟踪所有的变化,主键约束在本地表中也是不会被创建

 

TRACKINGON_INDEXES

2

对于接收到数据的表,SQL Serve CE将跟踪所有的变化,索引和主键如果已经在SQL Server表中存在,并且字段被指定在SQLSelectString查询语句里,那么服务器表中的索引和主键将创建到CE本地表中。

 

TRACKINGOFF_INDEXES

3

对于接收到数据的表,SQL Serve CE将不跟踪所有的变化,索引和主键如果已经在SQL Server表中存在,并且字段被指定在SQLSelectString查询语句里,那么服务器表中的索引和主键将创建到CE本地表中。

4.1.3 P ush(推数据)

推数据和拉数据是完全相反的两个方法。推数据则是将CE本地库中的数据上传到服务器中。Push的参数说明如表44Push方法的定义如下:

Virtual /*  [id]  */ HRESULT STSMETHODCALLTYPY  Push(

      /*  [in]  */ BSTR LocalTableName,

/*  [in]  */BSTR OLEDBConnectionString,

/*  [defaultvalue][in]  */ RDA_BATCHOPTION BatchOption=0

                44  Push参数说明

参数

说明

LocalTableName

表示将向服务器上传的变化数据的表名

OLEDBConnectionString

为连接到SQL Server服务器的连接字符串

RDA_BATCHOPTION

表示上传数据的方法。它取值是一个枚举值,具有如表45 所示。

 

45  参数BatchOption的取值

常量

说明

BATCHINGOFF

默认值。指示SQL Server CE对上传SQL Server的行不执行批处理。服务器使用独立的事物分别插入、删除或更新每一行。错误或失败信息被保存到Pull方法指定的错误表

BATCHINGON

指示SQL Server CE对上传SQL Server的行组成一批,归并到一个事务中。如果任何一行失败,则全部回滚。错误或失败信息被保存到Pull方法指定的错误表。

4.1.4 RDA连接远程数据库

SQL Server CE是一个可以在PDA上单独使用的数据库。但是,如果使用RDA与远程数据库同步的话,所有的数据表是通过PULL方法从远程数据库上获得的,然后使用ADOCE操作本地的表,如果PULL方法的tracking 参数设置成为TRACKINGON的话,操作完成后使用push方法将改变的记录回传到远程数据库中;如果参数设置成为TRACKINGOFF的话,则PUSH方法不会改变远程数据库。图 42  说明了数据同步的过程。

42  RDA操作流程

4.2 ADOADOCE

    ODBCOpen DatabaseConnectivity)是第一个使用SQL访问不同关系数据库的数据访问技术。OLE DB是一组为Windows 应用程序开发人员设计的Component Object Model(COM)组件,使数据的访问更容易一些。DataAccess Objects(DAO)Remote DataObjects(RDO)将面向对象的接口引入ODBC OLE DB,分别用于处理Access和大型数据库。ActiveX Data Objects(ADO)是一个用于存取数据源的COM 组件,被设计来继承微软早期的数据访问对象层,包括RDO DAO。而ADOCEMicrosoftWindows CE操作系统推出,给高层数据库应用软件提供访问接口,可以在EvbeVC高级语言中直接使用。ADOCE是一种易学易用的COM(组件对象模型)界面,是程序开发者更容易地控制对数据库的访问。利用一组简化的接口用以处理各种数据源[14] [15]

4.2.1 A DO 技术   

微软为应用软件开发平台提供了一系列的数据库访问技术,如ODBCDAOOLE DBADO等。OLE DB是访问数据库技术中的底层接口,它基于COM组件。对不同数据库提供相同的接口,从而能够访问关系数据库、非关系数据库及其他电子表格、各种文件系统,甚至是用户自己定义的文件系统。ADO建立在OLE DB的模型之上,封装了OLE DB中大量的COM接口,简化了访问数据库所需要的操作,属于高层数据库访问技术。

43  给出了ADO 访问数据库的结构。

43  ADO 访问数据库的结构

数据提供者:数据提供者包括数据源及其驱动程序,它以统一的格式提供信息。只要数据源提供相应的驱动程序,就可以通过ADO接口被应用及其开发工具访问。因此,数据提供者可以包括各种数据源,例如SQL数据库、索引顺序文件和电子数据表等。

服务提供程序:服务提供程序是一种中间件,它封装了一些方法,可以提供哪些数据提供者本身所不具备的功能,所以也是一种可选件。例如,当查询Microsoft SQL Server 数据时,没有必要使用服务提供程序,此时有ADO直接通过OLE DB接口访问数据库,因为SQL Server本身具有查询处理器(Query Processor)和光标引擎(Cursor Engine)功能。

ADO访问数据源时,调用了OLE DB 数据提供程序和服务提供程序,实现对数据库和其它各种文件系统的访问。

4.2.2 A DOCE

ADOCE 提供了 ADO for Windows CE 操作系统的一个子集,其中包括 Recordset Field 对象的实施过程。ADOCE 能够启动对存储于本地设备中的数据库的访问功能,并为网络数据库中的数据提供同步功能,从而在 Windows CE 操作系统中增加了新的数据库功能。ADOCE 可以由 Microsoft Windows CE Toolkit for Microsoft Visual Basic(R) 6.0 版等任一实现了COM的环境中访问Windows CE数据库引擎。

l         ADOCE 提供了下述功能:

1:自动实现对台式主机的双向同步。

2:新的数据类型:双精度型和布尔型(与 Windows CE 数据库相比较)。

3:对 SQL的支持。ADOCE 中的高级SQL支持功能是美国国家标准委员会 (ANSI)” SQL 的一个子集。它所新增的数据库引擎功能可以提供字段名、多个排序关键字、较为复杂的筛选功能、表和索引的创建功能、删除和编辑功能以及多个表的联接功能。

4:熟悉的 recordsetfieldname 访问方式。

5:桌面 ADO 功能。

l         Recordset Field 对象

ADOCE 控件有两个对象:Recordset(记录集)和 Field(字段)。记录集是一个虚拟的数据库表,它的字段和行与实际数据库表字段和行的子集相对应,而这些实际数据库表位于基于 Windows CE 的设备中。如果您对记录集行中的信息进行添加、删除或更改操作,您可以将这些改动的情况传递给表中相应的部分。当您改动记录集中的数据时,记录集将改动情况存储在内存中,您还可以在更新基础数据前取消这些操作。ADOCE 不支持分批更新。每次已完成数据更改,但又没有提交到基础数据库的行只能有一个。

下表46显示了 Recordset 对象能够支持的方法。

46  Recordset 对象方法

方法

说明

AddNew

在记录集中添加一行。

CancelUpdate

取消内存中保留的更改。

Clone

复制记录集。

Close

关闭记录集

Delete

删除记录集中的行。

GetRows

返回记录集中存储的数据。

Move

更改指向记录集当前行的指针。

MoveFirst

使第一行成为当前行。

MoveLast

使最后一行成为当前行。

MoveNext

将当前行指针指到下一行。

MovePrevious

将当前行指针指到上一行。

Open

定义并打开记录集;运行 SQL 命令。

Supports

定义记录集是否支持某一特征。

Update

提交内存中的更改,并更新实际表。

 

下表47显示 Recordset 对象所支持的属性

 

47  Recordset 属性

属性

说明

ActualSize

指明一个字段数值的实际长度,以字节为单位。

Attributes

返回指明 Field 对象的一个或多个特性的数值。

DefinedSize

用于确定 Field 对象的数据容量。他将以字符为单位,返回字段定义的大小,而 ActualSize 将以字节为单位,返回定义的大小。

Name

返回字段的名称。

Type

指明 Field 对象的数据类型。

UnderlyingValue

指明数据库中 Field 对象的当前数值。

Value(默认)

指明记录集中 Field 对象的当前数值。

 

不能直接创建 Field 对象,因为它们只存在于现有记录集的上下文中。用 Set 函数指向特定的 Field 对象。Field 对象没有方法或事件。除了 Value 属性外,所有的属性都是只读的。

下表48显示了 Field 对象能够支持的属性

48  Field 对象属性

属性

说明

ActualSize

指明一个字段数值的实际长度,以字节为单位。

Attributes

返回指明 Field 对象的一个或多个特性的数值。

DefinedSize

用于确定 Field 对象的数据容量。他将以字符为单位,返回字段定义的大小,而 ActualSize 将以字节为单位,返回定义的大小。

Name

返回字段的名称。

Type

指明 Field 对象的数据类型。

UnderlyingValue

指明数据库中 Field 对象的当前数值。

Value(默认)

指明记录集中 Field 对象的当前数值。

 

Fields 集合针对记录集中的每一列提供一个 Field 对象。可以通过名称或索引参考特定字段。Fields 集合支持 Count 属性,该属性指明记录集中字段的编号。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值