第14章BDP数据库引擎应用ppt课件(全)_第1页
第14章BDP数据库引擎应用ppt课件(全)_第2页
第14章BDP数据库引擎应用ppt课件(全)_第3页
第14章BDP数据库引擎应用ppt课件(全)_第4页
第14章BDP数据库引擎应用ppt课件(全)_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第14章BDP数据库引擎应用14.1 使用SQL Server 2000创建数据库 14.1.1 SQL Server 2000企业管理器 14.1.2 建立数据库 14.1.3 添加表和记录14.2 .NET数据库访问模式 14.2.1 数据提供器 14.2.2 数据提供器中的类14.3 BDP数据提供器的对象 14.3.1 BDPConnection对象 14.3.2 BDPCommand对象 14.3.3 BDPDataReader对象 14.3.4 BDPDataAdapter对象 14.3.5 程序举例14.4 小结14.5 习题目录Delphi2005包含了Borland自己的核心

2、数据提供器(Borland Data Provider,BDP)接口实现,作为Delphi for .NET及C#的工具,以支持.NET架构。虽然.NET带有多个不同的数据提供器以访问不同的数据源,但是BDP是一个统一的接口,扩展了.NET Framework中支持的数据库平台。它可以连接多种流行数据库,如InterBase、Oracle、DB2、MicroSoft SQL、Sybase等。BDP是一个高效、开放式体系结构,通过其核心接口,任何类型的数据源都可以方便地集成到BDP的体系结构中去。如图14-1所示:图14-1 BDP.NET的体系结构BDP还具有移植性好(如逻辑数据类型映射等功能

3、)、不需要COM层支持等优点。同进,Delphi2005还提供了很多组件和设计向导,使得数据库应用开发更加快速、高效。本章先简要介绍MS SQL Server 2000的企业管理器的用法,然后具体介绍BDP.NET的数据访问组件。14.1 使用SQL Server 2000创建数据库 SQL Server 2000是MicroSoft公司的大型关系数据库管理系统中的旗舰产品,也是目前Windows平台上装机数量最多的数据库产品之一。它不仅仅是一个软件,同与之相关联的产品,如数据仓库软件等一起构成了一整套数据库应用和数据分析的解决方案,成为广大Windwos企业用户在电子商务应用领域的首要选择。

4、本节首先介绍如何在SQL Server2000中创建数据库,为本章后面章节的学习准备。如果读者对这些已经熟悉,可以跳过本节。14.1.1 SQL Server 2000企业管理器SQL Server 2000提供了功能强大而又使用方便的数据库管理工具,企业管理器就是其中最主要的一个。绝大多数的数据库管理工作都可以在企业管理器中完成。企业管理器与Windows系统在功能上紧密集成,以树型结构的形式管理SQL Server数据库服务器、数据库、数据库中的对象,并能在单一的工作界面环境下实现对位于同一企业内部网络中多个SQL Server数据库服务器的管理操作。1运行企业管理器运行企业管理器的步骤是

5、:打开【开始】菜单,选择【程序】,在【MicroSoft SQL Server 2000】程序组中选择【企业管理器】。其运行主界面如图14-2:图 14-2 SQL Server 2000的企业管理器从图14-1中可以看器到,企业管理器窗口主要分成三大部分,最上面的区域是主菜单和快速工具按钮,下半部分的左边类似Windows资源管理器,采用树型结构,显示数据据库服务器的对象列表,而右边则显示在左边对象树中选中的对象所包含的对象。左边窗口中对象树的根节点是【控制台根目录】,表示所有服务器控制台的根。第一层默认有一个节点MicroSoft SQL Servers,所有服务器组都是其子节点,如图14

6、-1中第二层的SQL Server组节点。用户也可以在该节点下在自已定义服务器组。服务器组可以按用途和功能对服务器分类。其中SQL Server组是系统默认的服务器,刚完成安装的服务器就注册在其下面,如图14-1中的第三层节点LH服务器。第个服务器的子节点是所有该服务器可以管理的对象和可以执行的管理任务,主要分为数据库、数据转换服务、管理、复制、安全性、支持服务、Meta Data Services七个大类,第个大类下面还可以进一步细分,如上图中的LH服务器。在对象树中,各种不同对象根据其功能及用法提供了不同的右键菜单,以便执行相关的操作。利用工具栏【工具】菜单中的菜单项,可以很方便的调用SQ

7、L Server 2000提供的各种管理工具。SQL Server 2000中的很多操作都有相应的向导,比如创建数据库、创建存储过程等,它们以图形界面的方式指导用户一步一步的完成相应的数据库操作。调用这向导在很多情况下是自动进行的,用户也可以通过【工具】菜单中的【向导】菜单项查看所有可以使用的向导。14.1.2 建立数据库在SQL Server 2000中创建数据库两种方法,一是直接编写Transact-SQL命令创建数据库,另外一种是利用企业管理器的数据库创建功能。这里主要介绍如何利用企业管理器来创建数据库。使用SQL Server 2000的企业管理器创建数据库的步骤是:1运行企业管理器,

8、双击展开要新建数据库的服务器节点。2选中其【数据库】节点,从工具栏的【操作】菜单或从右键菜单中选择【新建数据库】菜单命令,如图14-3所示。图14-3 在企业管理器中新建数据库3打开的数据库属性窗口,在其【常规】选项卡的【名称】栏中输入想要创建的数据库的名称,例如MyData,如图14-4。图 14-4 新建数据库-数据库属性4在数据库属性窗口中切换到【数据库文件】选项卡,如图14-5,在其【数据库文件】列表的【文件名】栏中正确输入数据文件的名字,SQL Server 2000已经自动用上一步输入的数据库名称加下划线和Data后缀作为其默认文件名。图 14-5新建数据库-数据库属性5点击【位置

9、】栏里的按钮,打开如图14-6的查找数据库文件对话框,允许用户指定存放数据库文件的目录。图 14-6 指定数据库文件的存放路径 6在【文件组】栏里指定文件所属的组名。7在数据库属性窗口下半部分的【文件属性】选项组里,选中【文件自动增长】复选框,当数据库文件容量不够用时,SQL Server 2000会自动增加其容量。增加方式有两种:【按兆字节】方式,可以指定每次增加的具体容量值;【按百分比】方式,指定每次增原来容量的百分比。8在【最大文件大小】栏里,用户可以决定数据文件的最大容量。可以设置为不限容量,可以设置一个最大允许的容量值。 9.将数据库属性窗口切换到【事务日志】选项卡,如图14-7,用

10、与设置数据库文件属性类似的 方法,设置数据库事务日志文件的相关属性。图14-7 设置日志文件属性至此,新数据库创建并设置完成。14.1.3 添加表和记录与创建数据库类似,在SQL Server 2000的数据库中添加表同样有两种方法,这里介绍用企业管理器添加表及表中数据记录的方法和步骤。 1在企业管理器对象树型结构中,右键单击要添加表的数据库节点,在弹出菜单中选择【新建表】命令或者使用工具栏中【操作】下拉菜单中的相同命令,如图14-8。图 14-8 新建表2打开如图14-9的新窗口,设计表的结构。图 14-9 设计表结构该窗口中,需要用户定义的内容有:字段名:在一张表中字段名必须唯一。指定字段

11、的数据类型、长度、精度、是否允许为空。设计表的主键、索引。 3右击鼠标,在快捷菜单中选择【属性】命令,执行【索引/键】命令,打开如图14-10所示的对话框,为表设置主键或建立索引。图14-10 设置主键或建立索引 4单击工具栏中的【保存】按钮,弹出如图14-11所示的保存对话框,用户需要指定表的名称。表的名称最好能够反映中数据的内容及意义。图14-11 保存表 5要打开一张表,显示其中的数据记录,可以在企业管理器的对形对象列表中,展开表所在的数据库结点,选择其中的【表】对象,在右边区域中显示的该数据库所包含的所有表中表右键单击想要打开的 表,在弹出菜单中选中【打开表】,在其子菜单中选择要执行的

12、操作,如图14-12。4-12 打开表 6在打开的如图14-13的窗口中,返回上步操作的执行结果。用户可以在该窗口中编辑或添加数据记录。4-13 编辑表中的记录14.2 .NET数据库访问模式 NET环境中,通常使用ADO.NET来创建基于本地数据库格式或XML数据格式的数据库应用程序。它允许开发人员用分布式开发方式,针对多种数据源创建数据库应用的.NET开发技术。 虽然与其前辈ADO类似,而且ADO中的很多概念也移植了过来,使得程序员可以利用以前掌握的知识,但是它们之间还是有显著的不同。 ADO.NET支持两种开发模式:连接的和不连接的,其体系结构如图14-14所示。每种模式都包含自己的类以

13、支持所需功能。 图14-14 ADO.NET的两种模式连接模式提供从数据源获取只读数据的能力。如果数据源支持,开发人员也可以进行更新操作。不连接的模式使开发人员可以完全操作抽象或普通数据源。这种数据源可看成是内存中的缓存。两种模式可以通过DataAdapter类进行桥接。由连接模式的类从指定数据源获取数据,通过DataAdapter类转换给不连接的类的对象,由其对数据进行操作,再通过DataAdapter类将操作后的数据更新到数据源。正因如此,连接模式的功能被称作数据提供器(Data Provider)。14.2.1 数据提供器数据提供器用来连接数据源、执行数据操作的命令、返回结果。返回的结果

14、可以直接被处理,也可以返回给不连接的数据集对象以某种形式展现给用户。.NET Framework中的数据提供器设计用来在数据源与开发者的代码之间创建一个轻量级的中间层,达到在不牺牲功能的前提下提升性能的目的。.NET Framework中包含了多种数据提供器,下面分别作简要介绍。1. SQL Server数据提供器 SQL Server数据提供器拥有自己的协议与SQL Server进行通信,它可以采用最优的方式直接访问SQL Server服务器,中间不需要添加OLE DB或者是ODBC层,这就使它轻便高效。SQL Server数据提供器的类定位于名字空间。如果要访问MS SQL Server

15、7.0以前的版本,需要使用带有SQL Server数据提供器的OLE DB数据提供器(SQLOLEDB)。SQL Server数据提供器支持本地或分布式的事务处理。要使用SQL Server数据提供器需要安装MDAC (Microsoft Data Access Components ) 2.6或更高版本。2. OLE DB数据提供器OLE DB数据提供器的类定位于System.Data.OleDb名字空间,它使用本地OLE DB通过COM进行数据访问。它同样支持本地或分布式的事务处理。必须使用支持表14-1中所列OLE DB接口的OLE DB数据提供器。 表14-1 OLE DB数据提供器列

16、表不推荐使用Access数据库作为多线程应用程序的数据源。ASP.NET应用程序在以Access数据库连接时常会遇到与安全许可相关的问题。.NET Framework中的OLE DB数据库提供器不支持OLE 2.5接口。使用.NET Framework中OLE DB数据提供器也需要安装MDAC (Microsoft Data Access Components ) 2.6或更高版本。3.ODBC数据提供器ODBC数据提供器的类定位于名字空间,使用本地的ODBC驱动管理通过COM进行数据访问。支持本地或分布式事务处理。ASP.NET中支持的ODBC驱动有SQL Server、Microsoft

17、ODBC for Oracle、Microsoft Access Driver (*.mdb)。ODBC数据提供器并不包含在.NET Framework 1.0中,如果需要,可以从微软网站下载:, 下载的名字空间 。ODBC数据提供器同样需要安装MDAC (Microsoft Data Access Components ) 2.6或更高版本,推荐使用2.7版本。4.Oracle数据提供器Oracle数据提供器通过Oracle客户端连接软件进行数据访问,支持及更高版本。支持本地或分布式事务处理,但目前不支持EnlistDistributedTransaction方法。该提供器的类定位于名字空间

18、,但包含在中。在使用时,要添加对和的引用。与ODBC数据提供器一样,Oracle数据提供器没有被包含在.NET Framework 1.0中但可以在微软网站下载。使用它同样需要安装MDAC (Microsoft Data Access Components ) 2.6或更高版本。在实际开发中,根据应用程序的设计和使用的数据源类型,选择合适的数据提供器,可以提升应用程序的性能和完整性。14.2.2 数据提供器中的类数据库提供器通常由四个类构成,分别是Connection、Command、DataReader和DataAdapter。下面分别介绍它们的功能及用法。 1.Connection类 利用

19、该类可以连接到指定的数据源,是.NET应用程序与数据存储间进行实际通信的类。因为该类是数据提供器的一部分,各种数据提供器都提供了单独的连接类,所以实际开发中,根据数据源的不同,要使用不同的数据提供器,则要相应的选则Connection对象。比如使用SqlConnection对象连接到微软的Sql Server 7.0及以上的版本,使用OleDbConnection对象连接到OLE DB数据源,使用ODBCConnection对象连接到ODBC数据源,使用OracleConnection对象连接到Oracle数据源。Connection类存储关于数据源的相关信息,如位置、名称、授权凭证以及其它该

20、数据源特有的设置等。它处理底层的任务,比如用户验证、网络连接、数据库标识等。其它类通过该类的连接访问数据源的物理存储。Connection类还定义了打开、关闭及事务处理的方法。 使用该类,首先应该设置其ConnectionString属性,用于指定关于连接的一些信息,如用户验证信息、数据库位置及名称等。然后通过调用Open方法打开连接(如果支持连接池,则试图使用连接池中的连接,否则创建新的连接),接下来可以进行数据的操作,最后还需要调用Close方法关闭连接(同样,如果使用的是连接池中的连接,则只将该连接添加到连接池而不是真的关闭它) 。2.Command类当与数据源的连接建立以后,可以通过C

21、ommand类对数据源、Connection对象、Transaction对象执行数据操作的SQL命令。要执行的SQL语句在CommandText属性中指定。每种数据提供器都提代了相应的Command类。根据操作的类型不同,需要选择调用该类的不同方法。例如,如果要返回流式数据结果,则可以调用ExecuteReader方法返回一个DataReader对象;调用ExecuteScalar方法用于返回单一值;调用ExecuteNonQuery方法则可以执行一个不带查询的操作。如果要执行一个存储过程,则必须要设置CommandType属性为StoredProcedure。此时可以通过Parameters

22、属性访问参数和返回值。通常情况下Parameters属性的访问与是否调用Execute方法无关,但如果调用ExecuteReader方法返回一个DataReader对象,则在DataReader对象被关闭之前,该属性都不能被访问。 3. DataReader类该类提供对来自数据源的数据进行只向前的单向只读访问。作为执行查询的返回结果,数据存储在客户端的网络缓冲区中,直到调用Read方法请求对它的访问时,才将数据记录一条条的读入内存(默认情况下) 。这种处理方式显然可以减少系统开销,因此性能更优。可以使用列名或序号来访问数据记录的所有列,但是针对各列本来的数据类型调用DataReader类提供的

23、相应的类型访问方法(例如GetDateTime, GetDouble, GetGuid, GetInt32等等)来访问各列才是最好的办法,很明显,这样可以减少数据类型转换的过程。要注意的是,在Windows Server 2003的.NET Framework中,DataReader包含了一个附加的属性HasRows来允许用户在数据读取操作之前确认DataReader对象是否返回有结果。4. DataAdapter类 .NET Framework中包含的每一种数据提供器都提供有DataAdapter类。它的作用是用Command对象执行Select命令从Connection对象连接的数据源中获

24、取数据填充数据集对象,再把数据集对象中的数据更新通过Command对象执行相应Sql命令提交给数据源。DataAdapter类的SelectCommand属性对应于一个用来执行从数据源中获取数据的Select命令的Command对象,而InsertCommand, UpdateCommand和 DeleteCommand属性则是用来执行数据更新命令的Command对象 。调用该类的Fill方法用获取的结果数据集填充数据集对象。该方法使用DataAdapter结果数据集隐含的列名和数据类型来创建数据集中的数据表。表和列只有在不存在的时候才被创建,否则使用数据集中已有的定义。列的数据类型会按照.N

25、ET数据提供器的数据类型到.NET Framework的数据类型转换映射表转换为.NET Framework中的类型。 除非数据源中存在关键字段并且DataAdapter的MissingSchemaAction属性被设置为MissingSchemaAction.AddWithKey,否则不会创建关键字段。在填充数据时,如果Fill方法发现关键字段值在数据集中已存在,则会用数据源中的数据覆盖数据集中关键字段值相同的记录,否则将该据记录追加到数据集中的表里。 如果调用Fill方法时,DataAdapter使用的Connection对象没有打开,则该方法会自动打开它。如果是Fill方法打开了连接,则

26、在填表充操作执行完成时,也会关闭它。这可以使开发者在处理填充数据集或更新数据这些简单操作时简化代码。然而,如果要做多个处理操作需要请求连接时,则明确的调用相应的Connection对象的Open和Close方法打开及关闭连接可以提升程序的性能。在应用程序中,应该尽可能的减少连接的时间以便释放资源供其它客户端应用访问数据源。需要注意的是如果返回的是外部联接查询结果,DataAdapter不会在结果数据表中设置关键字段,开发人员必须自己定义关键字段。14.3.1 BDPConnection对象BDPConnection对象用来建立与数据库的连接。方法是首先正确设置其ConnectionString

27、属性,指定要连接的数据库及连接参数,然后调用Open方法打开与数据库的连接。需要注意的是,因为在.NET环境下数据库连接没有隐含式断开的概念,所以对于任何打开的数据库连接必须明确的调用Close方法断开连接。明显地,Open方法和Close方法要成对出现。BDPConnection对象的主要属性有: 1.ConnectionString:连接字符串属性用来指定连接到数据源的必须的信息,必须在打开数据源连接之前设置。这些信息大多对应与BDPConnection对象相关的只读属性。一旦设置了连接字符串属性,那些属性值将会随之更新,除非连接字符串设置错误。连接字符串指定的属性值将在应用程序调用Ope

28、n方法以后全部生效。如果连接字符串中指定了无效的属性或者是所连接的数据源不支持指定的属性,程序运行时会产生一个异常。可以用单引号或又引号指定属性的取值范围。必须用分号分隔一对属性和值。2.Database:包含当前连接的或将要连接的数据库名。3.ConnectionTimeout:指定从试图打开一个连接到终止尝试并产生错误的等待时间,以秒为单位。4.State:用来读取或设置当前连接的状态。目前,.NET Framework只支持Open和 Closed两种连接状态。除了前面的到的用于打开和关闭连接的Open和Close方法外,BDPConnection还有一个重要的方法BeginTransa

29、ction,用来开始处理一个事务。其原型定义如下:Delphi public function BeginTransaction(transName: String): BdpTransaction;Delphi public function BeginTransaction(level: IsolationLevel, transName: String): BdpTransaction;其中transName指定要处理事务的名称,而level则指定事务的独立级别。BDPConnection对象唯一可以处理的事件是StateChange,即当连接状态改变时触发,可以进行相应的处理。14.3

30、.2 BDPCommand对象在Delphi2005中,BdpCommand对象在添加BdpDataAdapter时自动创建,用来执行SQL语句或存储过程。它的CommandType属性用来指定在CommandText属性中是SQL语句、表名,还是一个存储过程名。在执行SQL语句前应该满足下列条件: 为Connection属性指定一个可用的BdpConnection。 Transaction属性必须设置为一个可用的BdpTransaction来执行事务处理的SQL语句。根据执行的SQL语句不同,选择调用下列方法: ExcuteReader方法:用来执行返回一个或多个游标的Select语句或存储

31、过程。如果SQL语句执行成功,则返回一个新的BdpDataReader。 ExecuteScalar方法:与ExcuteReader方法相似,但区别是,该方法返回第一条记录的第一列作为结果。它主要用来执行返回总计值的SQL语句。 ExecuteNonQuery方法:用于执行DDL语句或不带Select语句的DML语句或者是不返回游标的存储过程。如果成功执行一条DML语句,ExecuteNonQuery方法返回的值表示受该操作影响的数据库记录条数。如果要执行带参数的SQL语句,则CommandText属性中的SQL语句应该带有参数标记。在BDP.NET中使用“?”作为参数标记,目前不支持参数命名

32、。ParameterCount属性指定参数的个数。在准备执行期间,特定数据库的BDP提供器会将“?”转换为该数据库使用的参数标记并生成相应的调用存储过程的SQL语句。 可以通过添加一个BdpParameterCollection到BdpCommand的Parameters属性的方法来指定参数。当要重复地执行相同的SQL语句时,调用Prepare方法一次并且绑定参数。对于参数化的SQL语句调用Prepare方法在很多数据库系统中会在服务器上创建一个执行计划,以便后面使用不同的参数再重复执行相同的SQL语句。一旦BdpCommand执行完毕,要调用Close方法释放由数据库提代器分配的资源。命令级

33、别属性的选项设置可以用CommandOptions属性传递。14.3.3 BDPDataReader对象 BdpDataReader类用于返回BdpCommand.ExecuteReader方法执行的Select语句或存储过程的结果数据集,它是只读,且游标只能向前移动的。因为没有公共的构造器,所以不能显式的直接创建一个BdpDataReader对象,应该通过调用BdpCommand对象的ExecuteReader方法来获得一个BdpDataReader对象实例。 BdpDataReader的一些方法,如GetName, GetDataTypeName, GetFieldType, GetDat

34、aType, GetDataSubType可以提供游标级数据元。所有这些方法调用时必须传递要访问的列的从0开始编号的序号。如果传递的是列名,则GetOrdinal返回该列的序号或在选择列表中的位置。GetName, GetDataTypeName,GetFieldType方法则分别返回指定列的列名称,SQL数据类型名,.NET Framework System.Type。GetDataType 和 GetDataSubType分别返回指定列的BDP逻辑数据类型和子类型。可以调用Read方法来逐条读取记录只到返回值为False(表示已到最后一条记录)。在访问某个特定列之前应该先调用IsDBNul

35、l方法检查该列数据是否为空,然后根据数据类型选择相应的字段读取方法,比如GetInt16, GetInt32, 或GetFloat等。 可以调用GetBytes或GetChars方法以字节数组或字符数组的形式访问BLOB数据。这些方法使用时需要传递一个空的缓冲区用来返回BLOB中可用的数据容量。目前BdpDataReader还不支持指定偏移的方式访问BLOB数据。调用BdpCommand.ExecuteReader方法返回的BdpDataReader的初始状态为Open,当所有记录都被读取后,可以调用Close方法释放所占用的游标资源。可以通过访问IsClosed属性获取BdpDataRead

36、er是否被关闭。如果在BdpCommand.ExecuteReader中指定了CommandBehaviour. CloseConnection,则当BdpDataReadre关闭时,用于执行SQL语句的BdpConnection也被关闭。 如果执行的存储过程返回多个可用的结果,则NextResult方法返回True。14.3.4 BDPDataAdapter对象 BdpDataAdapter类是连接数据集与后台数据库之间的桥梁。它是一个用来获取数据填充数据集并更新数据源的数据操作命令的集合,并维持和数据库的连接。除了Borland定义的专用方法外,BdpDataAdapter类提供了.NET

37、中DataAdapter对象的所有功能。 BdpDataAdapter具有四个属性,分别用来存储执行不同的数据操作的SQL语句,它们是:SelectCommand、InsertCommand、UpdateCommand和DeleteCommand。其中SelectCommand用来从数据源中获取数据填 充数据集,面后面三个则用来将数据集中的数据更新提交到数据源。在要调用Fill方法从数据源中获取数据填充数据集之前,必须给SelectCommand属性指定合法的SQL语句。这将为从数据库中返回的数据建立数据结构。在调用Update方法将数据集中的数据更新提交到数据源之前,需要正确设置适当的属性,

38、如InsertCommand、UpdateCommand或DeleteCommand。例如,如果在数据集中删除了某些行并且要提交更新,则首先要在DeleteCommand属性中设置正确的SQL语句,然后才能调用Update方法执行更新操作。否则,如果没有设置合法的SQL语句则更新失败。在这种情冲下,数据库会产生一个可被捕获的异常。如果相应的属性被正确设置,当BdpDataAdapter的Active属性被设置为True时,相关联的数据集将自动获取填充数据。这一特性在设计期即可看到效果,设置一个BdpDataAdapter组件的Active属性为True,然后将一个DataGrid组件与数据集联

39、。与SelectCommand关联的BdpConnection在打开时会执行该属性中指定的SQL命令。如果连接没有打开,则Fill方法将首先打开连接,执行相应的SQL语句,返回结果数据集,关闭连接。 如果返回大结果集,则进入数据集的记录条数可以用MaxRecords和StartRecord属性来控制。AutoUpdate方法可以自动的将数据更新提交到数据源而不需要设置任何SQL语句。它是使用BdpCommandBuilder来生成更新、删除或插入操作的SQL命令。需要注意的是,尽管使用AutoUpdate方法看起来简单很多,但目前还不能实现在任何情况下都产生最适合的SQL语句,而且也不能处理主

40、从数据库的更新操作。如果要分析存储过程或复杂的SQL语句的数据,也不能使用AutoUpdate。如果要在数据集中进行强制完整性约束,则需要在调用Fill方法之前先调用FillSchema方法。使用TableMappings属性可以将数据源中的列名映射为更有意义的名字。14.3.5 程序举例本小节制作一个带参数的动态查询示例演示BDP数据提供器的用法。程序的功能是对SQL Server数据库服务器上Northwind数据库中的Employees表进行对FirstName字段的带参查询。这里给出从数据库连接设置到程序代码编写的完整步骤。一 、在Data Explorer中新建一个MSSQL连接。步

41、骤如下:1.在Data Explorerk中右键单击MSSQL节点,选择Add New Connection,如图14-15所示:图14-15 新建MSSQL连接2.在弹出的Add New Connection对话框的Connection Name输入框命名此连接,这里填SqlExmp,如图14-16所示:图14-16 指定连接名3.回到Data Explorer中,右键单击刚刚新建的SqlExmp节点,在弹出菜单中选择Modify Connection,如图14-17所示:图14-17打开连接设置4.在弹出的Connection Editor中设置Database参数值为Northwind,

42、HostName参数值为SQL Server服务器的名称,OSAuthentication参数值为True,在UserName和Password栏中正确的填定访问数据库的用户名和密码,然后单击Test按钮,如果连接成功,则弹出Connection Successful的消息框。如图14-18所示:图14-18设置并测试连接二 、创建Windows Forms应用程序,添加相应组件并设置正确。步骤如下:1.在Delphi2005中选择File|New|Windows Forms Application-Delphi for .NET。 2.在新建的空白工程中,从Data Explorer中展开新建的SqlExmp节点,在Tables子节点下,找到Employees表,把它拖放到窗体(默认为WinForm1)上,Delphi2005会创建BdpConnection1和BdpDataAdapter1两个对象。 3.选中BdpDataAdapter

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论