执行TDataSet的Next方法时出现访问冲突错误

时间:2017-08-12 18:29:24

标签: delphi delphi-2010 tdataset

当要将指针移动到下一条记录时,会显示一条错误消息:

  

模块' main_p.exe'中地址004070E2的访问冲突。写的   地址00000000

有什么方法可以解决这个问题吗?

var
  i: integer;
begin
  with dmData.dmEventInfo do
  begin
    tblEventinfo.Open;
    i := 0;
    while NOT tblEventinfo.Eof do
    begin
      arrNames[i] := tblEventinfo['bandname'];
      tblEventinfo.Next;
      i := i + 1;
    end;

  end;
end;

1 个答案:

答案 0 :(得分:3)

您没有显示arrNames数组的声明,但我认为问题出在Length

var
  i: integer;  arrNames : array of string;
begin
    SetLength(arrNames , tblEventinfo.RecordCount);
    i := 0;
    while NOT tblEventinfo.Eof do
    begin
      arrNames[i] := tblEventinfobandname.Value;
      tblEventinfo.Next;
      Inc(I);
    end;

  end;