在delphi中操作数据集记录,如.NET中的数据表

时间:2013-09-17 12:35:40

标签: delphi informix

我有一个场景,我必须根据查询获取一些记录,然后操纵每个记录并显示每条记录的消息。在.NET中,我可以使用数据表并在“dt.Rows”中使用For Each来完成此操作。但是我怎样才能在delphi中实现这一点。我的后端db是informix,我使用的是Delphi 2010版本。我必须使用BDE。它会更好如果我能得到一些示例代码。

2 个答案:

答案 0 :(得分:1)

在Delphi数据集(任何类型)中处理记录的标准方法是使用类似这样的代码

DataSet.First;
while not DataSet.eof do begin
   // process the current record here
   DataSet.Next;
end;

在该循环之前,您应该使用TDataSet.GetBookMark记录数据集游标之前的位置,并调用DisableControls。

使用try .. finally块来环绕循环。在“finally”部分中,使用GotoBookmark恢复光标位置,然后调用FreeBookmark,最后调用EnableControls。

您需要在OLH中查看所有这些内容。

答案 1 :(得分:1)

下面的代码遍历数据集:

myDataset.Open; // here we open the dataset and load the records
while not myDataset.Eof do begin
  // here you put the code to work over the current record

  myDataset.Next;
end; // while not the last record

这是迭代数据集中包含的所有记录的标准且更安全的方法,从第一个记录到最后一个记录。如果你需要倒退,那么代码是:

myDataset.Open; // here we open the dataset and load the records
myDataset.Last; // here we move to the last record
while not myDataset.Bof do begin
  // here you put the code to work over the current record

  myDataset.Prior;
end; // while not the first record