Delphi 提取记录字段具有特定值的位置

cwxwcias  于 2023-04-20  发布在  其他
关注(0)|答案(1)|浏览(138)

我试图从数据库中获取记录,其中字段具有特定值。
这是我到目前为止写的。
With AddressListTable do while AddressListTable.FieldByName('ContactID ').AsInteger = I do while not Eof do
因此,我想在MCListBox中显示ContactID值为I的所有记录。目前发生的情况是,它显示所有未过滤的记录。
谢谢你的帮助

kxe2p93d

kxe2p93d1#

正如MBo所说,最好使用QueryDataset并在查询sql代码中执行。如果您坚持使用Table数据集执行此操作,则可以在AfterOpen属性上执行此操作。类似于以下内容:

procedure TForm1.ADOTable1AfterOpen(DataSet: TDataSet);
var
bm: TBookmark;
MyIntValue: Integer;
begin
bm := DataSet.GetBookmark;
DataSet.DisableControls;
try

DataSet.First;
while not DataSet.Eof do
begin
  if DataSet.FieldByName('MyFieldName').AsInteger = MyIntValue then
    //do something like add to your Listbox
  else
    //do something else

  DataSet.Next;
end;
finally
DataSet.GotoBookmark(bm);
DataSet.EnableControls;
end;
end;

相关问题