比较简单的代码,就是想从数据库读出数据写入edit,但是一运行到第二行就出错,提示是List index out of bounds,请问有大侠知道是什么缘故吗,谢谢赐教
procedure TForm1.FormShow(Sender: TObject);begin
ADOQuery1.SQL.clear;
ADOQuery1.SQL.Add('select sum(Amount) from exDetail where ReType="zhichu"');
Edit2.Text := ADOQuery1.Fields.Fields[0].AsString;//这里出错
ADOQuery1.Open();
end;
procedure TForm1.FormShow(Sender: TObject);begin
ADOQuery1.SQL.clear;
ADOQuery1.SQL.Add('select sum(Amount) from exDetail where ReType="zhichu"');
Edit2.Text := ADOQuery1.Fields.Fields[0].AsString;//这里出错
ADOQuery1.Open();
end;
解决方案 »
- 熟悉FastMM的进来看下
- 怎么把doc文件通过存储过程存到oracle的blob类型的字段中?(100分啊)
- 我的生命要结束了吗?
- 不装驱动,直接写串口打印。请教如何获得打印机状态?我用的打印机是Epson300A。
- 各位大哥,关于如何判断邮件地址有效性的程序!谢谢哦!
- 请问一个关于指针的问题
- 特级,我使用 shift + del 删除了一个目录,和一个 winrar 压缩的文件,使用什么工具找回来
- 【高手大人请进】delhi 如何动态创建一个ACCESS数据库文件?
- delphi类中可不可以象C++中定义static的成员函数?
- 如何让我的游标使用一个动态SQL语句,谢谢
- 获得可用端口号
- caption在ide中不显示
ADOQuery1.SQL.clear;
ADOQuery1.SQL.Add('select sum(Amount) from exDetail where ReType="zhichu"');
ADOQuery1.Open();
if not AdoQuery1.isEmpty then
Edit2.Text := ADOQuery1.Fields.Fields[0].AsString;
end;
ADOQuery1.Open();
要先open再取值
begin
ADOQuery1.close;
ADOQuery1.SQL.clear;
ADOQuery1.SQL.Add('select sum(Amount) from exDetail where ReType="zhichu"');
ADOQuery1.Open;
Edit2.Text:=ADOQuery1.FieldByName('字段名').ASString;
end;
你要返回的是总和!~ begin
ADOQuery1.SQL.clear;
ADOQuery1.SQL.Add('select sum(Amount) from exDetail where ReType="zhichu"');
ADOQuery1.Open();
if not AdoQuery1.isEmpty then
Edit2.Text := ADOQuery1.Fields.Fields[0].Value;
end;