delphi 原生 ADODB.recordset

ADODB.recordset
..\source\rtl\win\Winapi.ADOInt.pas
..\17.0\OCX\Servers\ADODB2010.pas
CLASS_Recordset: TGUID = '{00000535-0000-0010-8000-00AA006D2EA4}';
class function CoRecordset.Create: _Recordset;
begin
  Result := CreateComObject(CLASS_Recordset) as _Recordset;
end;

ADO Recordset 对象用于容纳一个来自数据库表的记录集。一个 Recordset 对象由记录和列(字段)组成。

在 ADO 中,此对象是最重要且最常用于对数据库的数据进行操作的对象。

aRecordSet: Variant;

aRecordSet := CreateOleObject('ADODB.RecordSet');

con := CreateOleObject( 'ADODB.Connection' );

con.open('');

aRecordSet .Open( 'select * from myTable', con, 1, 1, 0 );

aRecordSet.open( ADODataSet1.CommandText, ADOConnection1.ConnectionObject, 1, 1, 0 );//利用ADOConnection1控件

acount := aRecordSet.RecordCount;

strCommand := aRecordSet.GetString;

aRecordSet.GetRows;

aRecordSet 这样处理也可以识别。_Recordset就是ADODataSet1.Recordset

GetRows
Variant array of Variant
17.0\source\data\ado\Data.Win.ADODB.pas
调用CreateADOObject方法完成ado各种对象的创建。
CreateADOObject(CLASS_Connection) as _Connection;
CreateADOObject(CLASS_Recordset) as _Recordset;
CreateADOObject(CLASS_DataSpace) as DataSpace;
CreateADOObject(CLASS_Command) as _Command;
属性描述
AbsolutePage设置或返回一个可指定 Recordset 对象中页码的值。
AbsolutePosition设置或返回一个值,此值可指定 Recordset 对象中当前记录的顺序位置(序号位置)。
ActiveCommand返回与 Recordset 对象相关联的 Command 对象。
ActiveConnection如果连接被关闭,设置或返回连接的定义,如果连接打开,设置或返回当前的 Connection 对象。
BOF如果当前的记录位置在第一条记录之前,则返回 true,否则返回 fasle。
Bookmark设置或返回一个书签。此书签保存当前记录的位置。
CacheSize设置或返回能够被缓存的记录的数目。
CursorLocation设置或返回游标服务的位置。
CursorType设置或返回一个 Recordset 对象的游标类型。
DataMember设置或返回要从 DataSource 属性所引用的对象中检索的数据成员的名称。
DataSource指定一个包含要被表示为 Recordset 对象的数据的对象。
EditMode返回当前记录的编辑状态。
EOF如果当前记录的位置在最后的记录之后,则返回 true,否则返回 fasle。
Filter返回一个针对 Recordset 对象中数据的过滤器。
Index设置或返回 Recordset 对象的当前索引的名称。
LockType设置或返回当编辑 Recordset 中的一条记录时,可指定锁定类型的值。
MarshalOptions设置或返回一个值,此值指定哪些记录被返回服务器。
MaxRecords设置或返回从一个查询返回 Recordset 对象的的最大记录数目。
PageCount返回一个 Recordset 对象中的数据页数。
PageSize设置或返回 Recordset 对象的一个单一页面上所允许的最大记录数。
RecordCount返回一个 Recordset 对象中的记录数目。
Sort设置或返回一个或多个作为 Recordset 排序基准的字段名。
Source设置一个字符串值,或一个 Command 对象引用,或返回一个字符串值,此值可指示 Recordset 对象的数据源。
State返回一个值,此值可描述是否 Recordset 对象是打开、关闭、正在连接、正在执行或正在取回数据。
Status返回有关批更新或其他大量操作的当前记录的状态。
StayInSync设置或返回当父记录位置改变时对子记录的引用是否改变。

方法

方法描述
AddNew创建一条新记录。
Cancel撤销一次执行。
CancelBatch撤销一次批更新。
CancelUpdate撤销对 Recordset 对象的一条记录所做的更改。
Clone创建一个已有 Recordset 的副本。
Close关闭一个 Recordset。
CompareBookmarks比较两个书签。
Delete删除一条记录或一组记录。
Find搜索一个 Recordset 中满足指定某个条件的一条记录。
GetRows把多条记录从一个 Recordset 对象中拷贝到一个二维数组中。
GetString将 Recordset 作为字符串返回。
Move在 Recordset 对象中移动记录指针。
MoveFirst把记录指针移动到第一条记录。
MoveLast把记录指针移动到最后一条记录。
MoveNext把记录指针移动到下一条记录。
MovePrevious把记录指针移动到上一条记录。
NextRecordset通过执行一系列命令清除当前 Recordset 对象并返回下一个 Recordset。
Open打开一个数据库元素,此元素可提供对表的记录、查询的结果或保存的 Recordset 的访问。
Requery通过重新执行对象所基于的查询来更新 Recordset 对象中的数据。
Resync从原始数据库刷新当前 Recordset 中的数据。
Save把 Recordset 对象保存到 file 或 Stream 对象中。
Seek搜索 Recordset 的索引以快速定位与指定的值相匹配的行,并使其成为当前行。
Supports返回一个布尔值,此值可定义 Recordset 对象是否支持特定类型的功能。
Update保存所有对 Recordset 对象中的一条单一记录所做的更改。
UpdateBatch把所有 Recordset 中的更改存入数据库。请在批更新模式中使用。