点击或拖拽改变大小

Functions.DbCopy 方法

X#
将记录导出到新的数据库文件。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION DbCopy(
	cTargetFile,
	acFields,
	cbForCondition,
	cbWhileCondition,
	nNext,
	nRecord,
	lRest,
	cDriver,
	acRDDs,
	lNoOpt,
	lIndexes
) AS LOGIC CLIPPER
查看代码

参数

cTargetFile (Optional)
类型:__Usual
目标文件的名称,包括可选的驱动器、目录和扩展名。有关文件搜索和创建规则,请参阅 SetDefault() 和 SetPath()。
数据库文件的默认扩展名由 RDD 决定。
对于文本文件,默认扩展名是 .TXT。
如果 cTargetFile 不存在,则会创建它。
如果文件存在,此函数会尝试以独占模式打开文件,如果成功,则会覆盖文件,不会发出警告或错误。
如果由于其他进程正在使用该文件等原因而拒绝访问,NetErr() 将被设置为 TRUE。
DBCreate() 根据 SetAnsi() 设置,以 ANSI 或 OEM 字符集格式创建指定的文件。(有关更多信息,请参阅 SetAnsi() 函数。)
acFields (Optional)
类型:__Usual
要复制到 cTargetFile 的字段列表。
默认为所有字段。
cbForCondition (Optional)
类型:__Usual
定义范围内每条记录必须满足的条件的代码块,以便进行处理。
cbWhileCondition (Optional)
类型:__Usual
定义每条记录必须满足的另一个条件的代码块,以便进行处理。 一旦遇到导致条件失败的记录,操作就会终止。
如果未指定范围,cbWhileCondition 会将默认范围更改为 lRest
您可以使用这三个互斥参数之一来定义范围。
默认是所有记录。
nNext (Optional)
类型:__Usual
要处理的记录数,从 nRecord 开始。 指定 0 以忽略此参数。
nRecord (Optional)
类型:__Usual
要处理的单个记录号。指定 0 以忽略此参数。
lRest (Optional)
类型:__Usual
TRUE 仅处理从 nStart 到文件末尾的记录。 FALSE 处理所有记录。
cDriver (Optional)
类型:__Usual
将为数据服务器提供服务的 RDD 的名称。如果未指定,则使用由 RDDSetDefault() 确定的默认 RDD。 将为工作区提供服务的 RDD 的名称。
如果未指定,则使用由 RDDSetDefault() 确定的默认 RDD。
acRDDs (Optional)
类型:__Usual
一个包含 RDD 名称的一维数组,主 RDD 从中继承特殊功能。
这允许您在具有不同数据库驱动程序的不同工作区中使用具有特殊功能的 RDD,例如加密或解密。
这些 RDD 覆盖主 RDD 的特殊功能(使用 cDriver 参数指定)。
如果多个 RDD(使用此参数指定)实现相同的功能,则列表中最后一个 RDD 关联的功能优先。
如果省略 acRDDs,则不假定有其他 RDD。
lNoOpt (Optional)
类型:__Usual
禁用(Rushmore)优化(尚不支持)。
lIndexes (Optional)
类型:__Usual

返回值

类型:Boolean
如果成功则返回 TRUE;否则返回 FALSE。
备注
提示 提示:
nNextnRecordlRest 参数是互斥的。您不应同时传递这三个参数。 如果您传递 cbWhile 参数,那么它也会控制范围行为。
默认情况下,此函数将当前选定工作区中的数据库文件中的记录复制到新文件。 通过在别名表达式中指定未选定的工作区,可以使其在未选定的工作区上操作。 如果 SetDeleted() 为 FALSE,源文件中已删除的记录将被复制到 cTargetFile,并保留其已删除状态。
但是,如果 SetDeleted() 为 TRUE,则不会复制已删除的记录。同样,如果设置了过滤器,则不会复制不可见的记录。 DBCopy() 在功能上等同于不带 DELIMITED 或 SDF 子句的 COPY TO 命令。
示例
以下示例将当前数据库文件中的记录复制到新的数据库文件:
X#
1USE Test NEW
2DBCopy("newdb.dbf")
参见