我想只查一个字段,但发现出错,如查两个字段则没问题了,不知啥?代码如下
arry1[0]:=trim(edit1.Text) ;
arry1[1]:=trim(edit2.Text) ;
arry1[2]:=trim(edit3.Text) ;
with DataModule8.ADOTable1zhzl do
begin
if (length(edit1.text)<>0 )then
begin
if (locate('acno;name',vararrayof(arry1),[loPartialKey])) then //如将 ;name去掉查则出错
delete
else
showmessage('该记录不存在');
end
上面的如这样写则错了,错哪? if (locate('acno',vararrayof(arry1),[loPartialKey])) then
arry1[0]:=trim(edit1.Text) ;
arry1[1]:=trim(edit2.Text) ;
arry1[2]:=trim(edit3.Text) ;
with DataModule8.ADOTable1zhzl do
begin
if (length(edit1.text)<>0 )then
begin
if (locate('acno;name',vararrayof(arry1),[loPartialKey])) then //如将 ;name去掉查则出错
delete
else
showmessage('该记录不存在');
end
上面的如这样写则错了,错哪? if (locate('acno',vararrayof(arry1),[loPartialKey])) then
解决方案 »
- DataGridEh的数据区不支持XE2的换肤,是真的吗?
- 讨论一个动态创建数据库的问题,程序运行后动态创建数据库和数据表。关闭后自动删除创建的数据库和表
- 怎样给正在处理数据的数据集加一个动态标示?
- 南京还有系统分析与设计高手吗?
- 请教一个不难的问题 !!!!我想散分!!顶也有分的!!!
- 谁知道数据库中根据日期得到星期几的函数
- 在mdi窗口放背景图片,aligin设置成client,可是在运行后,背景图总是与工具条间隔一定的距离,为何?
- ADOquery + sqlserver 问题 (初学者问题)
- 哪位仁兄在北京慧点科技开发有限公司?介绍一下如何???
- 两三年前,电脑报说delphi是最有前途的语言,现在呢?????
- wfcxx
- 如何将光标放在DBGRID的第一个记录的第一列中
if Locate('acno', Trim(Edit1.Text), [loPartialKey]) then
.....
而后面arry1 它是三个参数啊。楼上的几种方式都行。
procedure TfrmMain.btnLocateClick(Sender: TObject);
var
sFields : String;
begin
sFields := GetSerchFields;
dmSearchData.sqlcdsTest.Locate(sFields, GetSearchValues,[loCaseInsensitive, loPartialKey]);
end;function TfrmMain.GetSearchValues : Variant;
var
iCount : Integer;
sCond : String;
begin
Result := VarArrayCreate([0, Self.clbConditions.Items.Count - 1],varVariant);
for iCount := 0 to Self.clbConditions.Items.Count - 1 do
begin
sCond := Self.clbConditions.Items[iCount];
Result[iCount] := GetSearchValue(sCond);
end;
end;function TfrmMain.GetSearchFields: String;
var
iCount : Integer;
sCond : String;
begin
Result := '';
for iCount := 0 to Self.clbConditions.Items.Count - 1 do
begin
sCond := Self.clbConditions.Items[iCount];
Result := Result + GetSearchField(sCond) + ';';
end;
Delete(Result, Length(Result), 1);
end;