ADO面板上的控件简介

ADO面板上的控件简介

一、 TADOConnection组件
该组件用于建立数据库的连接。ADO的数据源组件和命令组件可以通过该组件运行命令及数据库中提取数据等。
该组件用于建立数据库的连接,该连接可被多个数据集所共享,但是并不是应用程序中必须的,因为ADO数据集及命令组件通过设置其ConnectionString属性,可以直接连接到数据库。但是如果多个数据集使用相同的数据库连接时,则使用TADOConnection就有一定的优势,因为不必为每个数据集都单独建立数据库的连接,同时也减少了资源的消耗,并且可以建立跨越多个数据集的事务。一个事务(transaction)是数据库操作的一个阶段,用户对数据库的修改都保存在本地计算机的内存中,只有提交一个事务后,才能将修改的内容提交到数据库中。如果选择了回滚事务,则所有的修改将被取消,而不会提交到数据库中。

Ø TADOConnection组件提供如下功能:
v 控件数据库的连接
v 控制服务器的注册
v 管理事务
v 为关联的数据集提供数据库连接
v 将SQL命令发送到数据库中
v 获得数据库的原数据(metadata)

Ø TADOConnection的常用属性
1) Attributes
    此属性用于设置连接的数据库的自动处理的行为,它是TxactAttributes
类型的集合,包括两个集合元素:
I. XaCommitRetaining:提交一个事务后自动开始一个新的事务。
II. XaAbortRetaining: 回退一个事务的同时将开始一个新的事务。
2) CommandTimeout
    连接超时属性,用于设置一个命令执行时所能等待的最大时间值。以秒为计量单位。缺省值为30秒,即连接命令等待了30秒之后还没有被执行,系统就放弃这个命令。
3) Connected
    标识和数据库的连接是否处于激活状态。
用户可以查询Connected属性的值来判断数据库的连接状态。如果该属性为true,则表明数据库处于连接状态;为false,则当前数据库连接关闭。
4) ConnectionString
    连字符串用于指定数据库的连接信息。连字符串的标准调用方为:ADOConnection1.ConnectionString:=‘Provider=ProviderRet;Remote Server=ServerRet‘;
其中,连接串支持的常用参数如下:
数据库连接参数及说明
         参数 说明
Provider 数据提供者名称,例如MSDASQL.1
Password 登录数据库的口令
         参数 说明
Persist Security  支持安全登录
User ID 登录数据库用户
    DataSource 数据源名称、数据源的设置需要额外的操作
设置成功之后,用户就可以将属性Connected设置为True,如果没有任何提示信息,说明数据库已经成功连接,此时,属性DefaultPatabase就被赋值为连接所指定的数据库的路径。
 5) ConnectOptions
    指定数据库连接是按照同步方式还是异步方式。类型Tconnectoption包含两个值:
v coConnectUnspecified:数据库连接采用同步方式连接。
v coAsyncConnect:异步方式连接数据库。当服务器负载很重的时候,这种连接方式很有用。引用这种连接方式,在第一次建立连接的时候,应用程序不能获得全部的数据。
 6) CursorLocation
     指定数据库指针是指向客户端还是服务器端。类型TcursorLocation包含两个值:
v cluseServer:使用服务器端的数据库指针,适用于数据量大的数据集。
v cluseClient:使用客户端的数据指针的时候,数据将被下载到本地计算机上,并在本地进行操作。
7) DefaultDatabase
    表明数据源成功连接后,这是由数据源自动赋值的。
8) IsoLationLevel
指定不同事务之间的相互独立的级别,事务实际上是对数据库的一系列操作的集合。事务具有整体性,如果事务中的某一个步骤不能正确执行,则整个事务都不会执行。由于数据库服务器可以同时支持多个连接,来自不同连接的事务有可能在同一时刻对同一个数据进行操作,这就有可能造成数据不一致性。为防止这种情况出现,ADO引入了事务独立级来确定不同事务之间的相互关系。设定事务独立级之后并调用BeginTrans方法后,新的事务独立级别将生效。
TISolationLevel共包含9种常量值:如下:
TISolationLevel常量及说明
常量参数 说明
ilUnspecified 使用默认的独立级别,没有其它的独立级别
ilChaos 来自更高独立级别的事务对数据的改变不能被当前的事务覆盖
ilReadUncommitled 当前事务可以读取其他事务未提交的数据
ilBrowse 当前事务可以读取其他事务未提交的数据
ilcursorStability 事务提交后数据才能被读取
ilReadCommitled 事务提交后数据才能被读取
ilRepeatableRead 不能读取其它事务的数据,执行Requery操作可以获得这些数据
ilSerializable 从其他事务中获取事务的独立级别
ilIsolated 从其他事务中获取事务的独立级别

这些常量的定义在Microsoft Data Access SDK中有详尽的说明,需要进一步了解可以查询微软的SDK文档。
9) KeepConnection
    指定如果在没有打开数据集的情况下是否仍然保持数据的连接。
    濒繁地打开和关闭数据库的操作将会影响系统的性能,特别在网络上,会在一定程度上增加网络的负载。这个属性设置数据源始终处于连接状态,可以显著提高程序的性能。
10) LoginPrompt
    指定在每次建立连接时是否弹出登录对话框提示用户登录。如果设为False,则必须在ConnectionString中指定登录数据库的用户和密码。
11) Mode
 指定连接对数据库的操作权限,这种连接模式的值如下:
连接模式参数及说明
参数 说明
cmUnknown 未指定数据库操作权限或无法确定
cmRead 对数据库只能读操作
cmWrite 对数据库只能写操作
cmReadWrite 对数据库可读写操作
cmShareDenyRead 禁止其他用户对数据库读操作
cmShareDenyWrite 禁止其他用户对数据库写操作
cmShareExclusive 禁止其他用户对打开数据连接
cmShareDengNone 禁止其他用户对数据库任何操作

Ø ADOConnection的主要方法:
1) BeginTrans
    开始启动一个新的事务,必须保证数据连接处于激活状态。
2) Cancel
    关闭于数据库的连接。
3) CommitTrans
    向数据库提交一个事务。提交成功后,再事务中对数据库所作的修改则写入数据库中,同时一个事务也结束。
4) Execute(constCommandText:Widestring;VarRecordsAffected;Executeoptions:TexcuteOptions=[eoExecuteNoRecords]);
执行一个CommandText类型的SQL命令,其中,CommandText是指定的SQL命令;ReardsAffected指定该命令设计的记录数目;ExecuteOptions指定命令特征如下:
ExecuteOption的值及说明
参数 说明
eoAsyncExecute 异步执行命令
eoAsyncFetch 给定了Cache属性的值后,在异步地去数据
eoAsyncFetchNonBlocking 非阻塞式线程执行
eoExecuteNoRecords 没有返回记录
5) GetProcedureNames(List:Tstring);
    获取数据库服务器上的存储过程名称,获取的存储过程名称在List参数中。
6) GetTableNames(List:Tstring;SystemTables:Boolean=False);
    获取数据库中的数据表,获取的表名存放在List参数中SystemTables参数指示是否获取数据库系统表的名称。数据库系统表是指在数据库中关于数据库数据类型定义和用户信息的数据表,这种系统表是数据库本身自动生成的。
7) Open(const UserID:widestring;constPassword:widestring)                           
    打开一个连接,参数UserID是数据库用户的用户名。Password是用户登录数据库的密码。
8) RollbackTrams
    撤回一个没有全部执行的事务。事务撤回之后,事务中所作的任何修改都不会写入数据库。

Ø ADOConnection的主要事件
事件 说明
AfterConnect  发生在一个连接建立之后
AfterDisconnect 发生在断开连接之后
BeforeConnect 发生在连接建立前
BeforeDisconnect 发生在断开连接前
OnBeginTranscomplete 发生在开始一个事务时
OnCommitTranscomplete 发生在提交事务成功时
OnConnectComplete 发生在连接完成时
OnDisconnect 发生在断开时
OnExecuteComplete 发生在一个命令执行后
OnInfoMessage 发生在收到数据库的消息
OnLogin 发生在用户登录数据库的时候
OnRollbackTransComplite 发生在一个事务撤回之后
OnWillConnect 发生在发出一个连接数据请求的时候
OnWillExecute 发生在数据库收到一个SQL命令并将要执行之前

二、ADOCommand组件
    ADOCommand向数据库发送SQL指令并返回请求的数据集。
ADOCommand组件主要用于运行一些数据定义语言(DDL)的SQL命令或者运行一个没有返回结果的存储过程。对于返回结果集的SQL语句,则最好使用TADODataset、TADOQuer或TADOStoredProc组件。尽管ADOCommand组件的Exexute方法可以返回一个结果集,但却是通过另一个ADO数据集组件来使用该记录集。
TADOCommand组件与ADOCommand对象相似,所以ADOCommand组件中的属性和方法在ADOCommand对象中都能找到相同的饿名字,并且具有相同的作用。如果使用ASP开发过动态网页,对此一定会有深刻的认识。
 TADOCommand代表了ADOCommand(ADO命令)对象,它通过一个ADO提供者访问数据库。TADOCommand组件执行的是其CommandText属性中设置的命令,通过调用Execute方法执行该命令。如果该命令中需要使用参数,则通过Parameters属性设置,该属性与BDE数据集Tquery组件的Params属性的作用及设置方法相同。

Ø ADOCommand的主要属性
1) CommandText
    指定要执行的SQL命令,可以手工编写,也可以利用CommandText编辑器对话框来设置这个属性。
CommandText编辑器是专门用来为ADO组件来编写SQL命令的。Table列表框用来列出数据库中所有的表,选中一个表,单击”Add Table to SQL”按钮,CommandText编辑器就会自动把表名插入SQL命令的相应位置。在选中某个表的同时,这个表中的所有字段都会自动地列在Fields列表框里。同样,选中Fields列表框中的一个字段,单击”Add Fields to SQL”,字段就会插入到SQL命令中。
2) CommandType
    指定要执行的命令的种类:
CommandType的参数及说明
参数 说明
cmdUnknown 未知的命令类型
cmdText 文本类型
cmdTable 命令中指定的是一个表的名称
cmdStoredProc 命令中指定的是一个存储过程的名称
cmdFile 命令中指定的是保存数据集的文件名
cmdTableDirect 命令中指定的是表的名称,并返回所有的列
3) Connection
    指定所使用的数据源连接组件的名称,即ADOConnection组件的名称,通过这个属性使得ADOCommand能与数据库连接起来。
4) Paramcheck
    指定在SQL命令动态改变的时候,是否需要重置参数列表。
5) Parameters
执行SQL命令时要用到的参数,在参数查询中,即在SQL命令中或在存储过程中需要传递参数的时候才需要设置这个值,并且在命令类型CmmandType指定为cmdText或cmdStoredProc时,参数才有效。

Ø ADOCommand主要方法:
1) Cancel
    中止一个正在执行的命令
2) Assign(source:TPersistent)
    把另一个ADOCommand组件的所有属性复制到当前的ADOCommand组件中。调用的时候,按名存取组件对象。
3) Execute
    执行ADOCommand组件所包含的命令,返回结果是一个数据记录集,可以被其他ADO组件的Recordset记录集属性调用。

三、 ADODataset组件
    ADODataset是ADO组件中最通用的一个组件,它能获取并代表任何其他ADO组件从数据库返回的数据集合。数据集是通过SQL命令返回的一个表或者多个表数据。
    要使ADODataset数据集组件能够正常地发挥作用,则应首先设置其Connection或Connection String属性来建立起到数据库的连接。如果要使用一个RDSDataSpace对象将该数据集连接到基于ADO的应用程序服务器,则需要RDSConnection属性设置为一个TRDSConnection对象。
由于ADODataset组件必须返回一个结果集,所以其CommandText属性中如果使用语句,则只能使用SELECT语句,而不能使用一引起数据操作语言(DML),比如DELETE、INSERT和UPDATE语句。
同时由于该数据集可以使用SQL 语句。所以可以从一个或多个基表中查询数据。

Ø ADODataset的常用属性
1) Active
    指示当前的记录集是否处于打开状态,调用open方法,打开数据库,Active值为True;调用close方法,数据库关闭,则Active为False;
    只有Active的值为False时,应用程序才能对数据库进行读写操作。需要将Active变为True的情况是:
v 数据库的状态设为dsBrowse(浏览模式、查看、扫描数据)。
v 如果程序中加载了BeforeOpen事件,在该事件被触发时。
v 如果程序加载了AfterOpen事件,在该事件被触发时。
v 通过记录集打开一个数据指针时。
    在更改数据集属性,且这些属性影响到数据库的状态或数据显示组件的状态时,要提前将数据集的Active属性设置为False;
2) AutoCalcFields
    设为True,则允许应用程序触发OnCalcFileds事件。计算字段依赖于当前记录的一个或多个字段。通过已有的字段数据统计计算。该值为True,在记录数据被修改或者编辑时,就触发OnCalcFields事件。应用程序自动更新计算字段的值,以保证数据的一致性 。能触发OnCalcFileds事件的条件是:
v 数据集组件的状态变为dsEdit。
v 记录已经被修改。
v 应用程序从数据库中重新获得一条记录。
    可以看出,上述的情况并不都需要更新计算字段。如果用户需要频繁地修改数据,则OnCalcFields事件就会不断地调用。频繁地调用在一定程度影响了应用程序的性能。在这种情况下,可以将属性AutoCalcFields设为False。
3) Cachesize
    指定数据集的缓冲区大小。数据集首先把数据从数据库中取出,然后保存在内存的一块域中。这块内存区域就是所谓的缓冲区。如果设置CacheSize为20,则表示数据集将一次从数据集将一次从数据库中提取20条记录并将这20条记录保存到缓冲区中。缺省值为1,也是最小值。
4) CommandText
     指定数据集合中包含的命令,可以是SQL语句,一个表名或者一个存储过程名。常用的调用形式为:
with ADODataset1 do 
begin
    commandType:=cmdText;
command Text:=’Select * From customerTable’;
open;
end;
5) Filer
    数据集的过滤器,通过使用过滤器可以把那些不需要的数据过滤掉。设置Filter属性的典型方法为:
with ADODataset1 do begin
Filterd:=False;
Filter:=’State=’+Quotedstr(‘CA’)+’OR’+”State=’+Quotedstr(‘CA’);
Filterd:=True;
End;
    如果用户修改了带有过滤数据集的数据,修改的结果如果不满足过滤器的条件,则修改的数据就自动从当前的数据库中消失。
6) MaxRecord
    返回数据集记录数,默认值为0。

Ø ADODataset的常用方法
1) GetIndexNames(List:Tstring)
    查询表中的全部索引,返回值将保存在参数List中,调用方法为:
ADODataset1.GetIndexNames(ListBox1.Items);
2) DeleteRecords(AffectRecords:TaffectRecords=arAll)
    删除记录集的记录,参数AffectRecords用于指定要删除的具体记录。它的取值可为如下:
AffectRecords的参数及说明
参数值 说明
arCurrent 仅删除当前记录
arFiltered 删除满足过滤器过滤条件的数据
arAll 删除记录的所有记录
arAllChapters 删除ADO连接数据部分的全部记录
    缺省值为arAll,删除当前记录集中的所有记录。
3) Locate(const KeyFields:String;constKeyValues:Variant;Options:TLocateOptions)
    定位一条记录并把这条记录作为当前记录。其中KeyFields是索引的字段名;KeyValues是要查找的值;Options是定位数据选项,他的值可以是:
v IoCaseInsensitive:定位数据不区分大小写。
v IoPartialkey:部分匹配定位查找数据。
4) Requery(options:TexecuteOption=[])
    刷新数据集中的数据,它是通过重新执行原来的命令或SQL语句来重新生成记录集。
5) SaveToFile(constFileName:String=’’;Format:TpersisFormat=PftAdTg)
    把当前数据集中的数据按照指定的格式保存到指定的文件中。FileName为指定的文件名:Format为保存的文件格式,它可以选取下列值:
v PfAdTG:按照ADTG(Advanced Data Tablegram)格式生成文件。
v PfXML:按照XML格式保存文件。
6) seek(constKeyValues:Variant;seekOption:Tseekoption=SoFirstEQ)
    搜索记录并移动数据集的指针。搜索动作是以当前数据集中的索引为搜索依据。其中KeyValues为被搜索的值。
    Success:=ADODataSet1.seek(‘Jones’,SoFirstEQ);
    如果搜索到复合索引的值,则返回True,反之为False,也可以同时搜索多个值:
    ADODataSet1.seek(VarArrayof([90030,90020]),soFirstEQ);
    这就需要利用函数VarArrayof()构造一个参数传递给KeyValues。
    Seek的第二个参数seekoption限定了搜索行为的动作。可以取的值如下:
Seekoption的取值及说明
参数值 说明
SoFirstEQ Rexord 数据库指针定位在第一条匹配的记录处,如果没有任何匹配记录则指向数据库的未记录
SoLastEQ Record 数据库指针定位在最后一条匹配的记录处,如果没有任何匹配记录则指向数据库的未记录
SoAfterEQ Record 如果搜索到匹配记录,在指向匹配记录的下一条,如果没有找到则指向最近似匹配记录上
SoAfter 指向匹配记录的下一条
SoBeforeEQ 如果搜索到匹配记录,在指向匹配记录的前一条,如果没有找到则指向最近似匹配记录上
SoBefore 指向匹配记录的前一条

四、ADOTable组件
    ADODataset组件、ADOTable组件、 ADOQuery组件和ADOstreProc组件都是继承自父类TcustomADODataset ,所以在属性、事件及方法上有许多共同的地方。
    TADOTable组件只能通过ADO访问数据库中单个基表的数据,它即可以访问 一个基表中的所有数据及字段,也可以访问部分记录,即通过在Filter属性设置筛选条件实现。
由于TADOTable组件与其他组件不同的是,它专门针对数据库中表进行操作。

Ø TADOTable特有的一些属性方法:
1) MaterSource属性和MasterFields属性
    MaterSource属性是用于建立主从关系的数据源,当前的ADQTable中的数据将根据MaterSource属性所指定的数据源变化而变化。在一个数据库汇总,某些表之间可能存在互相关联的,一种常见的情况是两个表之间存在共同的字段。通过这些共同的字段,可以建立主从关系的关联。可以通过访问一个表而得到另一个表的数据,这种主从关系建立以后,如果用户在主表记录选中一条记录,则从表中相应的记录自动获得。
    MasterFields属性指定用于建立主从关系的关联字段,指定的字段是将主表和从表赖以存在的纽带,这个字段必须是主从表中共有的字段。
2) Readonly
    指定ADOTable中数据是否处于只读状态。
3) TableDirect
    指定是通过表名来访问数据库还是在后台运行SQL命令访问数据库,部分的数据提供者不支持通过表名对数据库的访问,这时的ADOTable就只能通过后台运行SQL的SELECT语句来访问数据库。如果设置为True,则ADOTable组件在后台运行SQL命令访问数据表,为False按表名访问数据库,缺省值为Flase。
4) TableName
    指定ADOTable要操作的表名。
    只有当设置了正确的connection或者connectionstring,Active属性为True的时候,才能设置TableName属性,表名的列表才会在ObjectInspector中显示。
5) Append方法和AppendRecord(constValues:arrayofconst)
    使用Append方法在增加一条新记录的同时,并为新记录赋值。赋值是通过一个数组作为参数传递进去的。但是必须保证数组的维数和字段数一致且顺序一致。
6) Post方法
    执行Post方法,是将已经修改完毕的记录写入数据库中。通常是每执行完一个修改记录的操作,执行一次Post操作,以完成对数据库的更新。

五、ADOQuery组件
    ADOQuery组件借助于SQL语言的强大功能访问多个数据表,可以实现数据浏览、修改和删除等操作,并且,ADOQuery组件可以实现参数查询。所谓参数在使用上可以理解为变量。在执行SQL之前,就被赋值。运用参数化查询,不需要修改SQL语句,给定不同的参数值,就可以获得不同得到的查询结果。通常情况下,使用ADOQuery是为了从数据集中查询一部分字段或记录,也可以使用INSERTV、DELETE、UPDATE、ALTER TABLE等SQL命令实现数据的更新、插入和删除记录的操作。如果数据集只包含一个基表,则可以使用ADOQuery,也可以使用TADOTable数据集。

Ø ADOQuery的主要属性和方法
1) SQL属性
    SQL属性是Tstring类型的变量,包含了ADOQuery组件要执行的SQL命令,它是ADOQuery的最为重要的属性之一。在应用程序中,可以调用open方法或ExecSQL方法来执行SQL属性中指定的SQL语句。在代码编写阶段,可以利用属性编辑器编写,在应用程序执行过程中也可以动态的修改。
2) Parameters
    Parameters属性中保存了SQL属性中的SQL命令中执行所需的参数 ,这些参数可以在程序设计阶段添加,这时可以在ObjectInspector设定参数的值,并且,参数的数量和类型必须与SQL属性中SQL语句的参数一致。
3) oepen方法和ExecSQL方法 
    这两种方法通常用于执行SQL属性所指定的SQL命令,动态上基本上类似。但是open方法通常调用SELECT语句,只要返回记录集,而ExecSQL方法执行Insertv、Update或Delete等命令,不返回记录集。无论是调用open方法还是ExecSQL方法,在执行它们之前都必须调用close方法。

六、TADOStredProc组件
    如果一个客户应用程序必须使用数据库中的存储过程,则可以使用TADOstoreProc组件,一个存储过程是一组语句,提前建立好的保存在数据服务器上,可以反复被执行,在服务器上完成与数据库有关任务,并将结果传递给客户。

Ø TADOStoredProc组件的主要属性
    TADOStoredProc组件与其它ADO数据集有相似的属性,经常需要设置的属性如下:
1) Active
    设置为True时,可以激活数据集;设置为False;则关闭数据集。
2) Connection
    如果应用程序中添加了TADOConnection组件,则可以通过选择该组件来建立数据库的连接。
3) Connectionstring
    如果设置Connection属性,则可以在该属性中设置一个连接到数据库的字符串。
4) DataSource
    是另一个数据集对应的数据源,用于为当前数据集提供一些值,一般情况下,不要设置该属性,更不能将其属性设置为当前数据集使用的数据源。实际上如果这样做,在设计阶段Delphi就会报错。
5) Filter
    设置筛选记录的条件。
6) Filtered
    决定是否激活Filter中设置的筛选条件。
7) Parameters
    设置数据集使用的存储过程的名字,可以从下拉框中选择。

Ø TADOStoredProc组件主要的方法
1) Create
    该方法用于建立TADOStoredProc组件的一个实例。实际上,当使用ADO组件面板上的TADOStoredProc组件,在一个表单或数据模块中插入该组件时,就自动建立了一个实例,也就相当于隐含地调用了Creat方法。所以一般很少直接调用该方法建立TADOStoredProc组件的实例。
2) close
    用于销毁TADOStoredProc组件的一个实例。
3) DeleteRecords
    用于删除一条或多条记录。
4) Edit 
    设置数据集为编辑状态。
5) Enable Controls
    使用数据感知控件重新显示数据。
6) Disable Controls
    使数据感知控件不能显示数据。
7) Firse
    导航到数据集的第一条记录。
8) Last
    导航到数据集的最后一条记录。
9) Prior
    导航到数据集的前一条记录。
10) next
    导航到数据集的下一条记录。
11) MoveBy
    向前或向后导航多条记录。
12) GetFieldData
    将一个字段当前的值提取到缓冲区中。
13) IsEmpty
    判断一个数据集是否为空。
14) open
    打开一个数据集。
15) Refresh
    重新从数据库中提取数据来更新数据集的数据。

Ø TADOStoredProc组件的事件
    TADOStoredProc组件与TADOQuery组件的事件基本相同,所以可以参考TADOQuery组件事件的说明。

七、TRDSConnection组件
    TRDSConnection组件 用于实现一个RDSData Space对象。当一个Recordset(记录集)对象从一个进程或机器传递到另一个进程或机器上时,RDSDataspace对象负责管理数据的汇集。当使用基于ADO的业务(business)对象(应用程序服务器)来建立多层的应用程序时,应该使用TRDSConnection对象。
    在建立应用程序时,使用TRDSConnection组件代替TADOConnection组件,建立与一个TADODataset数据集的关联关系,并在TADODataset组件的RDSConnection属性中选择使用的TRDSConnection组件实例。
    默认情况下,TRDSConnection组件与RDS DataFactory对象一起使用。如果不需要专门的业务对象,可以使用DataFactory对象。

Ø TRDSConnection组件主要的属性
1) Appserver
    用于访问应用程序服务器的通信接口,如果访问与Recordsets对象武官的业务对象的附加属性或方法时,可以使用该属性。
2) ComputerName
    指定一个业务对象的来源。如果该属性为空,则从本地计算机装载业务对象。HTTP、HTTPS和DCOM等协议,可以用于建立业务对象。如果使用HTTP和HTTPS协议建立业务对象,则Computername属性是包含确定ⅡS·web服务器的URL的一个字符串,服务器的业务对象实例就在该服务器上建立;如果使用DCOM协议,则computerName属性是计算机的名字。
3) DataSpaceObject
    提供对RDSDataspace对象接口的访问。
4) Connected
    确定是否已经建立了到远程数据源的连接,设置为True,则表示建立连接。
5) InternetTimeout
    设置超出规定的请求次数以前使用时间的数量,以毫秒计算
6) Name
    设置TRDSConnection组件实例的名字。
7) ServerName
    指定业务对象,即需要初始化的业务对象的ProgID。默认值是在RDSServer DataFactory属性中,这是RDSServer DataFactory对象的ProgID。

Ø TRDSConnection组件主要方法
1) GetRecordset
    用于从一个业务对象中提取一个记录集,与RDS连接组件关联的TADODataset会自动调用该方法,其方法如下:
function GetRecordest(Const CommandText:Widestring;connectionstring:widestring=’’):_recordset
2) Free
    销毁组件的实例并释放其占用的资源。
3) open
    打开TRDSConnection的连接。
4) Creat
    建立TRDSConnection组件的一个实例,当在表单或数据模块添加一个TRDSConnection组件时,就会隐含调用该方法。
5) Destory
    用于销毁TRDSConnection组件的一个实例,在应用程序中一般不要直接调用该方法。而应调用Free方法来销毁组件的实例

Ø TRDSConnection组件的事件
1) AfterConnect
    该事件在建立TRDSConnection组件的连接后触发。
2) AfterDisConnect
    该事件在断开TRDSConnection组件的连接后触发。
3) ReforeConnect
    该事件在建立TRDSConnection组件的连接前触发。
4) BeforeConnect
    该事件在断开TRDSConnection组件的连接前触发。
5) OnLogin
    该事件在正确进行了用户注册并打开了到服务器的通道后触发。

http://blog.csdn.net/henreash/article/details/2294047

时间: 2024-10-13 00:23:44

ADO面板上的控件简介的相关文章

Delphi7 ADO面板上的控件简介

Delphi7 ADO面板上的控件简介 一. TADO Connection组件 该组件用于建立数据库的连接.ADO的数据源组件和命令组件可以通过该组件运行命令及数据库中提取数据等. 该组件用于建立数据库的连接,该连接可被多个数据集所共享,但是并不是应用程序中必须的,因为ADO数据集及命令组件通过设置其Connection String属性,可以直接连接到数据库.但是如果多个数据集使用相同的数据库连接时,则使用TADO Connection就有一定的优势,因为不必为每个数据集都单独建立数据库的连

清除面板上所有控件的值

procedure Pub_ClearOnePanCondition(APan: TWinControl); var intI: integer; PanTemp: TScrollBox; begin for intI := 0 to APan.ControlCount - 1 do begin if (APan.Controls[intI] is TScrollBox) then begin PanTemp := TScrollBox(APan.Controls[intI]); Pub_Cle

jQuery-UI实现折叠面板里的控件拖曳

因一个项目的需要,需要在前端界面实现在折叠面板里拖曳控件到工作区的功能(类似于Android和MFC的可视化界面开发),于是就开始学起了强大的jQuery,发现里面的jQuery-UI有折叠面板.按钮等控件,但当在折叠面板里拖曳按钮时,按钮的拖曳范围只能是折叠面板内部,不能拖到工作区.所以这里绕了个弯实现了一下: 主要的实现过程是:首先在控件表明生成一个副本,每次拖曳控件的时候拖曳的都是副本,当拖曳完成,即鼠标弹起后,原控件表面就又生成一个副本待下次拖曳.(其他一些细节写在了注释里.) 代码:

对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传)

首先声明一下,我这个是对WebUploader开源上传控件的二次封装,底层还是WebUploader实现的,只是为了更简洁的使用他而已. 下面先介绍一下WebUploader 简介: WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS 6+, android 4+.两套运行时,同样的调用方式,可供

【jQuery基础编程】jQuery-UI实现折叠面板里的控件拖曳

因一个项目的需要,需要在前端界面实现在折叠面板里拖曳控件到工作区的功能(类似于Android和MFC的可视化界面开发),于是就开始学起了强大的jQuery,发现里面的jQuery-UI有折叠面板.按钮等控件,但当在折叠面板里拖曳按钮时,按钮的拖曳范围只能是折叠面板内部,不能拖到工作区.所以这里绕了个弯实现了一下: 主要的实现过程是:首先在控件表明生成一个副本,每次拖曳控件的时候拖曳的都是副本,当拖曳完成,即鼠标弹起后,原控件表面就又生成一个副本待下次拖曳.(其他一些细节写在了注释里.) 代码:

FileUpload上传控件用法详解 (转载)

FileUpload 类显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器.用户通过在控件的文本框中输入本地计算机上文件的完整路径(例如,C:\MyFiles\TestFile.txt )来指定要上载的文件.用户也可以通过单击“浏览” 按钮,然后在“选择文件” 对话框中定位文件来选择文件. 注意: FileUpload 控件设计为仅用于部分页面呈现期间的回发情况,并不用于异步回发情况.在 UpdatePanel 控件内部使用 FileUpload 控件时,

***文件上传控件bootstrap-fileinput的使用和参数配置说明

特别注意:    引入所需文件后页面刷新查看样式奇怪,浏览器提示错误等,可能是因为js.css文件的引用顺序问题,zh.js需要在fileinput.js后面引入.bootstrap最好在fileinput前引入. 比如: <!-- 集成上传插件bootstrap-fileinput 注意BS和JQ的js文件需要放在前面 --><link type="text/css" rel="stylesheet" href="<?php ec

Qt从入门到放弃_0x02:基本控件简介

一.控件简介 我们所看到的图形化界面是由很多部分组成的,比如显示文本的文本框.退出程序的按钮等等.这些组成图形化界面的,被赋予了多种功能的组件,就是Qt的控件 二.基本控件 下面的代码演示的都是最基本的控件使用,均在main函数中进行操作.我们将下面这两句创建项目时自动生成的代码注释掉,添加上自己的代码即可. MainWindow w; w.show(); 1.QLabel QLabel包含在头文件<QLabel>中.QLabel用来显示一段文本,该文本只读,不能被选中也不能被用户更改. QL

如何清空文件上传控件里的选定文件(路径)

我又来扯鸡毛蒜皮了.有名言曰人生短得不够扯鸡毛蒜皮,但我的工作就是由无数的鸡毛蒜皮组成,如之奈何? 今天的鸡毛和蒜皮是:如何清空文件上传控件里的选定文件(路径)? 场景是酱紫的: 有一个上传控件和一个按钮,其中上传控件隐藏.点击按钮,触发上传控件点击事件,于是弹出文件选择对话框:选好文件后,于是触发了上传控件的onchange事件.在这个事件里,将文件上传. 有点装逼,就是隐藏了上传控件.这可能是出于界面简约的考虑.问题是,同一个文件不能连续上传2次,因为路径不变,没有触发onchange事件.