DbServer 类 |
命名空间: XSharp.VO.SDK
DbServer 类型公开以下成员。
名称 | 说明 | |
---|---|---|
DbServer(__Usual, Object, Object, String, __Array) |
构造一个服务对象。
| |
DbServer(FileSpec, Object, Object, String, __Array) |
构造一个服务对象。
|
名称 | 说明 | |
---|---|---|
Alias |
表示工作区别名的字符串。
| |
AliasSym |
表示 DBServer 对象别名的符号。
| |
BoF |
一个逻辑值,指示服务是否位于文件的开头,即第一条记录上。
(重写 BoF.) | |
Clients | **缺少文档** (继承自 DataServer。) | |
ConcurrencyControl |
一个常量,标识此数据服务的自动并发控制模式,确定何时以及如何锁定和释放记录:
(重写 ConcurrencyControl.) | |
DBStruct |
包含此数据服务结构的数组,其长度(即元素数量)等于服务中的字段数。
(重写 DBStruct.) | |
DbStructure | 从 DbServer 对象返回原始 DbStructure 数组。 | |
Deleted |
一个逻辑值,指示当前记录是否被标记为删除。
| |
Driver |
表示此服务使用的数据库驱动程序名称的字符串。
| |
EoF |
一个逻辑值,指示服务是否位于文件的末尾,即最后一条记录上
(重写 EoF.) | |
ErrInfo |
标识上次操作后错误条件的 Error 对象。
| |
ErrorInfo | 返回内部 ErrorInfo 对象,无论上次操作是否产生错误。 | |
FCount |
服务中的字段数。
(重写 FCount.) | |
FieldDesc | 这将返回一个空数组。对于在 DbServer 编辑器中绘制的服务,这将返回 DataFields 数组。 | |
FileSpec |
定义 DBF 文件路径和文件名的 FileSpec 对象。
| |
Filter |
表示当前活动过滤器的字符串。
| |
ForBlock |
“一般服务范围”的“For block”组件,如果在没有显式范围的情况下调用,则会影响多个批量处理方法。
| |
Found |
指示上一次搜索操作是否成功的逻辑值。
| |
Header |
表示数据库文件头长度的数值。
| |
HLStatus | **缺少文档** (继承自 DataServer。) | |
HyperLabel |
连接到此数据服务的超标签。通过超标签,您可以检索有关数据服务的其他信息。
(继承自 DataServer。) | |
IndexExt |
表示基于当前链接的数据库驱动程序的默认索引扩展名的字符串(例如,DBFNTX 驱动程序的“.NTX”)。
| |
IndexList | 这将返回一个空数组。对于在 DbServer 编辑器中绘制的服务,这将返回索引数组。 | |
LastRec |
当前数据库文件中的记录数。
(重写 LastRec.) | |
Lupdate |
服务使用的 DBF 文件的最后修改日期。
| |
MemoExt | 这将返回文件的备注扩展名(如果有)。例如 DBT 或 FPT。 | |
Name | 这将返回 DbServer 的名称。 (重写 Name.) | |
NameSym |
表示此数据服务名称的符号。
(继承自 DataServer。) | |
OleExt | 这将返回文件的OLE扩展名(如果有)。例如 DFL。 | |
OrderBottomScope |
表示将在控制 order 的当前范围内包含的键值范围的底部边界的记录的键值。
| |
OrderKeyVal |
控制顺序中当前记录的键值。
| |
OrderTopScope |
表示控制顺序当前范围内顶部边界记录的键值。
| |
PaintedStructure | 这将返回基于服务编辑器中绘制的 DataFields 和 Fieldspecs 的 DBSTRUCT 数组。 | |
RddName |
表示此服务使用的数据库驱动程序的名称的字符串。
| |
Rdds | 这将返回传递给 DbServer 构造函数的 RDD 列表。 | |
ReadOnly |
指示文件是否以只读文件打开的逻辑值。这由服务的实例化参数确定。
| |
RecCount |
当前数据库文件中的记录数。
(重写 RecCount.) | |
RecNo |
表示当前记录号的数值,标识记录指针的位置。
(重写 RecNo.) | |
RecSize |
表示服务记录长度(以字节为单位)的数值。
| |
RelationChildren | 返回使用 SetRelation() 注册的子项数组 | |
Retries | 确定 DbServer 对象应重试失败操作的次数的设置。 | |
RLockList |
当前锁定的记录号数组。
| |
Scope |
“通用服务范围”的“范围”组件,如果调用时没有显式范围,则会影响多个批量处理方法。范围的初始值为 NIL。
| |
SelectionWorkArea | 当 dbserver 是关系中的子项时,父区域的工作区号。 | |
Shared |
指示服务是可共享还是独占的逻辑值。
| |
Status |
标识上次操作后状态的 HyperLabel 对象。如果
(重写 Status.) | |
TableExt | 返回打开的 DBF 的扩展名。通常是.DBF,但如果打开了具有不同扩展名的文件,则可能不同。 | |
Used |
指示服务当前是否打开的逻辑值
| |
WhileBlock |
影响多个批处理方法的“通用服务范围”的“WHILE块”组件,如果它们在没有明确范围的情况下调用
| |
WorkArea |
表示服务的工作区编号
|
名称 | 说明 | |
---|---|---|
Append |
向表中追加一个空白记录;此空白记录成为当前位置,并准备分配数据值。如果 Append() 方法返回 TRUE,则记录会自动锁定。
| |
Append(Boolean) |
向表中追加一个空白记录;此空白记录成为当前位置,并准备分配数据值。如果 Append() 方法返回 TRUE,则记录会自动锁定。
(重写 Append(Boolean).) | |
AppendDB |
从另一个 DBF 文件向表中追加新记录。
| |
AppendDelimited |
从分隔文件(例如“逗号分隔值”(CSV)文件格式)向表中追加新记录。
| |
AppendSDF |
从 SDF 格式的文件向表中追加新记录。
| |
AsString |
返回为此数据服务定义的描述性标签。
(继承自 DataServer。) | |
Average |
根据涉及的实际记录数计算一系列数值表达式的平均值。
| |
BLOBDirectExport(Int32, String, Int32) |
将二进制大对象(BLOB)指针的内容导出到文件。
| |
BLOBDirectExport(Int32, FileSpec, Int32) |
将二进制大对象(BLOB)指针的内容导出到文件。
| |
BLOBDirectGet |
检索存储在 BLOB 文件中的数据,而无需引用特定字段。
| |
BLOBDirectImport(Int32, String) |
将文件导入 BLOB 文件并返回指向数据的指针。
| |
BLOBDirectImport(Int32, FileSpec) |
将文件导入 BLOB 文件并返回指向数据的指针。
| |
BLOBDirectPut |
将数据放入 BLOB 文件中,而无需引用特定字段。
| |
BLOBExport(__Usual, String, Int32) |
将由其备注字段编号标识的 BLOB 内容复制到文件。
| |
BLOBExport(__Usual, FileSpec, Int32) |
将由其备注字段编号标识的 BLOB 内容复制到文件。
| |
BLOBGet |
获取由其备注字段编号标识的 BLOB 内容。
| |
BLOBImport |
将文件的内容读取为由备注字段编号标识的 BLOB。
| |
BLOBRootGet |
从 BLOB 文件的根区域检索数据。
| |
BLOBRootLock |
获取 BLOB 文件根区域的锁。
| |
BLOBRootPut |
将数据存储在 BLOB 文件的根区域。
| |
BLOBRootUnlock |
释放对 BLOB 文件根区域的锁定。
| |
ClearFilter |
清除使用 DBServer:SetFilter() 方法指定的过滤条件。
| |
ClearIndex |
清除当前与服务关联的所有索引。
| |
ClearLocate |
清除服务的 LOCATE 条件(如果有)。
| |
ClearOrderScope |
设置或清除控制顺序中键值范围的边界。
| |
ClearRelation |
清除此服务与其他服务之间的所有活动关系。
| |
ClearScope |
清除定义多记录操作默认范围的设置。
| |
Close |
关闭数据库文件及其关联的索引文件。
(重写 Close.) | |
Commit |
将所有更改从缓冲区提交到磁盘,确保所有缓冲区都已刷新。
(重写 Commit.) | |
ConstructUniqueAlias | 基于文件名和可选的数字后缀创建唯一别名 | |
Continue |
继续挂起的 DBServer:Locate() 操作,搜索下一个匹配的记录(类似于 DBContinue() 函数)。
| |
CopyDB |
将记录复制到另一个 DBF 文件。
| |
CopyDelimited |
将记录复制到分隔文件。
| |
CopySDF |
将记录复制到 SDF 文件。
| |
CopyStructure(String, __Array) |
创建与发送消息的服务对象具有相同记录布局的DBF文件。
| |
CopyStructure(FileSpec, __Array) |
创建与发送消息的服务对象具有相同记录布局的DBF文件。
| |
Count |
返回匹配指定范围的记录数。
| |
CreateIndex |
创建包含一个 order 的索引文件。
| |
CreateOrder |
在现有索引文件中创建一个 order。行为取决于使用的驱动程序。
| |
DataField |
检索指定字段位置的数据字段对象。
(重写 DataField(__Usual).) | |
Delete |
删除此数据服务中的当前记录。
(继承自 DataServer。) | |
Delete(__Usual, __Usual, __Usual) |
删除当前记录或指定范围内的记录。
| |
DeleteAll |
删除表中的所有记录。
| |
DeleteOrder |
从索引文件中删除一个 order。
| |
Error |
提供一种方法来处理在数据库处理期间引发的错误条件。
| |
Eval |
为每个匹配范围和条件的记录评估代码块。如果方法没有传递条件或范围,则受一般服务范围的约束。
| |
FieldGet |
获取由其位置标识的字段的内容。
(重写 FieldGet(__Usual).) | |
FieldGetBytes |
直接从工作区缓冲区读取字节数组。
| |
FieldGetFormatted |
根据其 FieldSpec 对象的格式规范返回指定字段的内容。
(重写 FieldGetFormatted(__Usual).) | |
FieldHyperLabel |
返回指定字段的超链接标签。
(重写 FieldHyperLabel(__Usual).) | |
FieldInfo |
返回并可选更改有关字段的信息。
| |
FieldName |
以字符串形式返回指定字段的名称。
(重写 FieldName(__Usual).) | |
FieldPos |
返回数据服务中指定字段的位置,作为从1开始的数字。
(重写 FieldPos(__Usual).) | |
FieldPut |
设置由其位置标识的字段的值。
(重写 FieldPut(__Usual, __Usual).) | |
FieldPutBytes | 将字节数组直接写入工作区缓冲区。 | |
FieldSpec |
返回指定字段中的 FieldSpec 对象。
(重写 FieldSpec(__Usual).) | |
FieldStatus |
返回上次操作后的字段状态。
(重写 FieldStatus(__Usual).) | |
FieldSym |
返回指定字段的名称。
(重写 FieldSym(__Usual).) | |
FieldValidate |
执行定义在字段的 FieldSpec 对象中的所有验证(例如,必需、最大和最小位数、最大和最小值、验证规则)并返回测试结果。
(重写 FieldValidate(__Usual, __Usual).) | |
FLock |
锁定此服务使用的表以进行独占访问。
(重写 FLock.) | |
GetArray |
从服务中的字段检索值数组,受当前活动选择的约束(如果有)。
| |
GetLocate |
检索当前 LOCATE 条件的代码块,如果未设置代码块,则返回 NIL。
| |
GetLookupTable |
从服务中的两个字段检索两列值数组,受当前活动选择的约束(如果有)。
(重写 GetLookupTable(__Usual, __Usual, __Usual, __Usual).) | |
GoBottom |
将数据服务定位在最后一条记录。
(重写 GoBottom.) | |
GoTo |
将数据服务定位在指定的记录号。
(重写 GoTo(Int32).) | |
GoTop |
将数据服务定位在第一条记录。
(重写 GoTop.) | |
IndexKey |
返回指定单序索引的键表达式。
| |
IndexOrd |
返回 order 列表中控制 order 的序数位置。(类似于 IndexOrd() 函数。)
| |
Info |
返回并可选地更改有关数据服务的信息。
| |
Join |
将此 DBServer 对象与另一个 DBServer 对象连接,并将结果放入指定的文件中。
| |
Locate |
顺序搜索匹配条件的记录。如果方法没有传递条件或范围,则受一般服务范围的约束。
| |
LockCurrentRecord |
锁定当前记录。此方法与调用 RLock() 并将当前记录号作为参数相同。
(重写 LockCurrentRecord.) | |
LockSelection |
锁定当前活动选择中的所有记录。
| |
NoIVarGet |
提供一个通用错误拦截,当对不存在的导出实例变量进行访问引用时(在任何类中)自动调用。在 DBServer 类中,它用于实现虚拟字段变量。
重要!NoIVarGet()不应直接调用;它由系统调用以处理无效引用。
(重写 NoIVarGet(__Usual).) | |
NoIVarPut |
提供一个通用错误拦截,当对不存在的导出实例变量进行赋值引用时(在任何类中)自动调用。在 DBServer 类中,它用于实现虚拟字段变量。
重要!NoIVarPut() 不应直接调用;它由系统调用以处理无效引用。
(重写 NoIVarPut(__Usual, __Usual).) | |
Notify |
一个事件处理程序,用于响应此服务的方法中发生的事件,或与此服务以某种方式链接的其他服务中的事件。标准实现会通知服务的所有客户端该事件。
重要!此方法由数据服务的各种操作方法自动调用,通常不应由应用程序代码调用。
(重写 Notify(Int32, __Usual).) | |
OrderDescend(__Usual, String, __Usual) |
返回并可选地更改 order 的降序标志。
| |
OrderDescend(__Usual, FileSpec, __Usual) |
返回并可选地更改 order 的降序标志。
| |
OrderInfo |
返回并可选地更改有关 order 和索引文件的信息。
| |
OrderIsUnique(__Usual, String) |
返回给定 order 的唯一标志状态。
| |
OrderIsUnique(__Usual, FileSpec) |
返回给定 order 的唯一标志状态。
| |
OrderKeyAdd(__Usual, String, __Usual) |
向自定义构建的 order 添加键。
| |
OrderKeyAdd(__Usual, FileSpec, __Usual) |
向自定义构建的 order 添加键。
| |
OrderKeyCount(__Usual, String) |
返回 order 中的键数。
| |
OrderKeyCount(__Usual, FileSpec) |
返回 order 中的键数。
| |
OrderKeyDel(__Usual, String) |
从自定义构建的 order 中删除键。
| |
OrderKeyDel(__Usual, FileSpec) |
从自定义构建的 order 中删除键。
| |
OrderKeyGoTo |
移动到控制 order 中由其逻辑记录号指定的记录。
| |
OrderKeyNo(__Usual, String) |
获取当前记录的逻辑记录号。
| |
OrderKeyNo(__Usual, FileSpec) |
获取当前记录的逻辑记录号。
| |
OrderScope |
设置控制顺序中键值范围的边界。
| |
OrderSkipUnique |
将记录指针移动到控制顺序中的下一个或上一个唯一键。
| |
Pack |
从数据库文件中删除已删除的记录。
| |
PostInit |
实现窗口的自定义初始化代码。
(继承自 DataServer。) | |
PreInit |
实现服务的自定义初始化代码。
(继承自 DataServer。) | |
RddInfo |
返回并可选更改由 RDD 直接控制的设置。
| |
Recall |
召回由指定范围指示的已删除记录。
| |
RecallAll |
召回表中的所有已删除记录。
| |
RecordInfo |
检索有关指定记录的信息。
| |
Refresh |
从数据库重新读取当前记录,丢弃所做的任何更改。
| |
RegisterClient |
将对象注册为此数据服务的客户端,以便它接收来自服务的有关某些操作的通知消息。
(继承自 DataServer。) | |
Reindex |
重新创建此服务的所有活动索引。
| |
Relation |
返回指定关系的链接表达式。
| |
Replace |
用新表达式替换与指定范围匹配的所有记录的一个或多个字段。
| |
ResetNotification |
恢复向服务的附加客户端广播 Notify 消息(在调用 DBServer:SuspendNotification() 之后)。
(重写 ResetNotification.) | |
RLock |
锁定记录以进行独占写访问;其他用户仍然可以对记录进行只读引用。
(重写 RLock(Int32).) | |
RLockVerify |
确定此数据服务中的当前记录是否有任何挂起的更新,如果没有,则锁定它以进行独占写访问。
(重写 RLockVerify.) | |
Rollback |
撤消在当前事务中对该数据服务所做的更改。
(继承自 DataServer。) | |
Seek |
移动到控制顺序中具有指定键值的下一条记录。
(继承自 DataServer。) | |
Seek(__Usual, __Usual, __Usual) |
移动到控制顺序中具有指定键值的记录。
| |
Select | 选择 DbServer 使用的工作区。 | |
SetDataField |
为指定字段分配 DataField 对象。
(重写 SetDataField(UInt32, DataField).) | |
SetFilter |
设置过滤条件。
| |
SetIndex(String) |
打开索引文件并选择其顺序作为控制顺序(如果这是第一个打开的索引)。
| |
SetIndex(FileSpec) |
打开索引文件并选择其顺序作为控制顺序(如果这是第一个打开的索引)。
| |
SetOrder(__Usual, String) |
从已打开的索引文件中选择一个顺序作为控制顺序。
| |
SetOrder(__Usual, FileSpec) |
从已打开的索引文件中选择一个顺序作为控制顺序。
| |
SetOrderCondition |
设置应用于索引和顺序创建的条件。如果未调用 SetOrderCondition(),则顺序创建受通用服务范围的约束。如果两者都未设置,则顺序没有条件。
| |
SetRelation |
设置从此服务到子服务的关系。
| |
SetSelectiveRelation |
设置从此服务到子服务的选择性关系;标准数据库操作仅限于匹配关系的记录。
| |
Skip |
将记录指针向前或向后移动指定数量的记录。
(重写 Skip(Int32).) | |
Sort(String, __Array, __Usual, __Usual, __Usual) |
将记录按排序顺序复制到另一个数据库文件。如果方法没有传递条件或范围,则受通用服务范围的限制。
| |
Sort(FileSpec, __Array, __Usual, __Usual, __Usual) |
将记录按排序顺序复制到另一个数据库文件。如果方法没有传递条件或范围,则受通用服务范围的限制。
| |
Sum |
计算一系列数值表达式的总和。
| |
SuspendNotification |
暂停向服务的附加客户端广播 Notify 消息。
(重写 SuspendNotification.) | |
Total |
按键值汇总记录,生成分组汇总,并将汇总记录写入另一个数据库。
| |
UnLock |
释放指定的锁或所有锁。
(重写 UnLock(Int32).) | |
UnRegisterClient |
取消对象作为此数据服务客户端的注册,以便它不再接收来自服务的有关某些操作的通知消息。
(继承自 DataServer。) | |
Update |
使用另一个服务或表中的数据更新此服务。
(继承自 DataServer。) | |
Update(__Usual, __Usual, __Usual, __Usual) |
使用另一个服务或表中的数据更新此服务。
| |
Zap |
永久删除服务中的所有记录并释放磁盘空间。
|
方法或属性 | 描述 |
---|---|
BOF | 尝试将位置设置在选择中的第一个记录之前。 |
EOF | 尝试将位置设置在选择中的最后一个记录之后。 |
Found | 仅在选择中找到记录时(在 Seek()、Locate()、Continue() 之后)指示是否找到记录。 |
RecCount | 返回选择中的记录数(请注意,LastRec 不依赖于选择)。 |
Average() | 如果未指定范围,则在当前选择上进行计算,而不是在所有记录上进行计算。 |
Continue() | 限制搜索到当前选择。 |
CopyDB(), CopySDF(), CopyDelimited() | 如果未指定范围,则复制当前选择,而不是所有记录。 |
Count() | 如果未指定范围,则在当前选择上进行计算,而不是在所有记录上进行计算 |
DeleteAll() | 删除选择中的所有记录,而不是文件中的所有记录 |
Eval() | 如果未指定范围,则在当前选择上评估代码块,而不是在所有记录上评估 |
GetArray() | 限制数组到当前选择 |
GetLookupTable() | 限制查找表到当前选择 |
GoTop() | 转到选择中的第一个记录 |
GoTo() | 如果记录号不在选择中,则失败 |
GoBottom() | 转到选择中的最后一个记录 |
Locate() | 仅在选择中找到记录时成功 |
LockSelection() | 锁定当前选择中的所有记录 |
RecallAll() | 召回选择中的所有记录,而不是文件中的所有记录 |
Replace() | 如果未指定范围,则在当前选择上处理,而不是在所有记录上处理 |
Seek() | 如果搜索值与选择值相同,则定位到当前选择的开头;否则,定位到文件的最后一个记录并设置EOF标志(忽略Softseek) |
Skip() | 如果移动会导致超出选择范围:定位到选择的最后一个记录并设置EOF标志,或者定位到选择的第一个记录并设置BOF标志,取决于移动的方向 |
Sort(), Sum(), Total() | 如果未指定范围,则在当前选择上处理,而不是在所有记录上处理 |
提示: |
---|
以下方法不受活动选择的限制: AppendDB(), AppendDelimited(), 和 AppendSDF(),因为它们的范围参数适用于源文件,而不是这个服务 Delete() , 因为它的默认是这条记录,而不是所有 Recall() ,因为它的默认是这条记录,而不是所有 |
1oDB:Scope := 5 // NEXT 5 records 2oDB:Delete() 3oDB:Scope := NIL // 不要忘记重置范围!
1oDB:Scope := DBScopeRest // REST 2oDB:Delete() 3oDB:Scope := NIL // 不要忘记重置范围!
1oDBCust:SetOrder("CustomerName") // 按名称排序 2oDBCust:Seek("Smith") // 找到第一个Smith 3oDBCust:WhileBlock := {||CustomerName = "Smith"} 4// 当仍在Smiths上时... 5oDBCust:ForBlock := {||State = "NJ"} // 在新泽西州的顾客 6// 中... 7Tally := oDBCust:Count() // 计算数量! 8oDBCust:ClearScope() // 重置所有内容
属性 | 含义 |
---|---|
ForBlock | 指定FOR条件的字符串或代码块。 |
Scope | DBSCOPEALL、DBSCOPEREST或一个数字 nRecords(意味着NEXT nRecords)。 |
WhileBlock | 指定WHILE条件的字符串或代码块。 |
方法名称 | 描述 |
---|---|
AppendDB() | 从DBF追加记录。 |
AppendDelimited() | 从分隔文件追加记录。 |
AppendSDF() | 从SDF文件追加记录。 |
Average() | 计算表达式的平均值。 |
CopyDB() | 将记录复制到DBF。 |
CopyDelimited() | 将记录复制到分隔文件。 |
CopySDF() | 将记录复制到SDF文件。 |
Count() | 统计匹配的记录数量。 |
Delete() | 删除记录。 |
Eval() | 为每条记录评估代码块。 |
Join() | 与另一个DBF合并,写入DBF。 |
Locate() | 找到匹配条件的记录。 |
Recall() | 恢复已删除的记录。 |
Replace() | 用DBF中的数据替换值。 |
Sort() | 将记录排序到DBF。 |
Sum() | 计算表达式的和。 |
Total() | 将字段汇总到DBF。 |
方法名称 | 描述 |
---|---|
Delete() | 删除当前记录。 |
DeleteAll() | 删除所有记录。 |
Recall() | 恢复当前记录。 |
RecallAll() | 恢复所有记录。 |
1oDBCust := DBServer{"customer"} 2cCust := oDBCust:Alias 3SELECT (cCust) 4SKIP 5DELETE 6? (cCust) -> CustNo
1DbSetRestoreWorkarea(lEnable)
提示: |
---|
VO 2.8 中的 DbServer 类发生了一些主要的更改。请阅读本主题的底部部分,如果您从较老版本的 Visual Objects 迁移。 |