Functions.DbAppend 方法 | |
向数据库文件添加新记录。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION DbAppend(
lReleaseLocks,
uArea
) AS LOGIC CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static bool DbAppend(
__Usual lReleaseLocks = default,
__Usual uArea = default
)
查看代码参数
- lReleaseLocks (Optional)
- 类型:__Usual
一个逻辑数据类型,如果为 TRUE,则清除所有待处理的记录锁,然后追加下一条记录。
如果为 FALSE,则保持所有待处理的记录锁,并将新记录添加到锁定列表的末尾。
默认值为 TRUE。
- uArea (Optional)
- 类型:__Usual
指定要从中检索值的表的工作区名称或编号。
返回值
类型:
Boolean
如果成功则返回 TRUE;否则返回 FALSE。
如果成功添加,记录中的每个字段都将设置为其数据类型的空值,并且新记录成为当前记录。
备注
默认情况下,此函数在当前选定的工作区中的数据库文件上操作。
通过在别名表达式中指定,可以使其在未选定的工作区上操作。
DBAppend(TRUE) 执行与 APPEND BLANK 命令相同的功能。
有关更多信息,请参阅 APPEND BLANK。
提示: |
---|
逻辑记录:DBAppend() 不遵循逻辑可见性。
也就是说,如果记录成功添加,它将成为当前记录,无论任何顺序或过滤条件如何。
共享模式:
对于共享数据库,DBAppend() 自动在新记录上放置记录锁。
如果无法锁定记录,NetErr() 将设置为 TRUE,表示记录未添加,并继续执行。
|
示例
以下示例追加一条空白记录,检查 NetErr() 条件,并更新数据:
1DBUseArea(TRUE, "DBFNTX", "sales", "Sales", ;
2 TRUE)
3... <paramref name="Statements" />
4DBAppend()
5IF !NetErr()
6 Sales->FirstName := cFirst
7 Sales->LastName := cLast
8ELSE
9 QOut("追加操作失败")
10ENDIF
以下示例首先锁定一条记录,然后在不释放当前锁定列表中的记录锁的情况下向 SALES 数据库追加一条空白记录。
它还检查错误:
1USE sales NEW
2DBRLock()
3
4IF DBAppend(FALSE) .AND. !NetErr()
5 ? "多条记录被锁定"
6ELSE
7 ? "发生错误!"
8ENDIF
参见