第13章 数据库编程(19)
时间:2026-01-22
时间:2026-01-22
delphi数据库编程
② 若搜索条件中包含多个字段,则loPartialKey选项仅对“待查字段列表”中的最后一个字段有效。
③ 如果为数据集设置了过滤器(Filter,见后面的“11. 筛选记录”小节),则应将过滤器中所包含的字段添加到Locate方法的搜索条件中;否则,被过滤掉的记录仍会被列入搜索范围,从而返回错误结果,并导致定位混乱。例如,若过滤器中设置了按性别筛选记录,则应按以下语句构建搜索条件:
ADOTable1.Locate('性别; 姓名', VarArrayOf([cboSex, sName]),
[loPartialKey]);
(2)Lookup方法简介
调用语法:
数据集.Lookup(‘待查字段列表’,字段值,’返回字段列表’) 参数说明:
‘待查字段列表’:与Locate方法相同。
字段值:与Locate方法相同。
’返回字段列表’:拟返回的字段,若有多个字段,用分号分隔。
返回值:Variant。若找到匹配记录,则返回’返回字段列表’中指定字段的值。若有多个字段,则返回值是一个Variant数组。Lookup方法不移动记录指针,只是返回指定字段值。若无匹配记录,返回Null值。
示例:
以下代码查询数据集ADOTable1中姓名为李四的记录,若查到,返回该记录的学号、姓名、性别和班级字段值并显示。 var Lkup: Variant; i:Integer; ss:String;
begin
Lkup:= ADOTable1.Lookup('姓名', '李四', '学号;姓名;性别;班级');
if not VarIsNull(Lkup) then //若有匹配记录
begin
for i:= 0 to VarArrayHighBound(Lkup,1) do
ss:= ss + Lkup[i] + ' '; //将各字段值存入字符串变量 ShowMessage(ss);
end
else
ShowMessage('无匹配记录。');
end;
下一篇:电子商务辩论