用ADOQuery查询ACCESS数据表中指定记录条数中数据并放入二维动态数组中的问题 ( 积分: 30 )

  • 主题发起人 主题发起人 LSBIN
  • 开始时间 开始时间
L

LSBIN

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾:
我想从ACCESS数据表中取出指定条数的记录,并将全部记录放入一个二维动态数组中,我用以下的方法:
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c:integer;
begin
a:=strtoint(Edit1.Text);
b:=strtoint(Edit2.Text);
setlength(abc,a,5);
for i:=0 to (b-1) do
begin
c:=(b-1)-i;
adoq1.Close;
adoq1.SQL.Clear;
adoq1.SQL.Add('select * from my_table where ID='+inttostr(c)+'');
adoq1.Open;
old[nx_i,0]:=adoq1.Fields[2].AsInteger;
old[nx_i,1]:=adoq1.Fields[3].AsInteger;
old[nx_i,2]:=adoq1.Fields[4].AsInteger;
old[nx_i,3]:=adoq1.Fields[5].AsInteger;
old[nx_i,4]:=adoq1.Fields[6].AsInteger;
end;
end;

//ID是记录编号
//abc是二维数组

有提示:where子句出错什么的
请问如何解决?如标题所示,谁有好的方法请提供,不谨感谢!
 
adoq1.SQL.Add('select * from my_table where ID='+QuotedStr(inttostr(c)));
 
如果取的数据是连续的可以用这种方法:
例:
取库中5到10的记录
select top 5 * from employees a
where a.employeeid not in (select top 5 employeeid from employees)
 
adoq1.SQL.Add('select * from my_table where [ID]='+inttostr(c)+'');
↑这里要加[]
 
Access中的关键字不加[]会有问题
 
多谢各位关注:我重新输入了一次代码,问题解决了,更正一下,数组OLD应为ABC.
参与者有分!!!!!!多呼哉不多也!
 
多人接受答案了。
 
后退
顶部