在程序中有一个tadoquery组件qry1,其connection已经设置为一个打开的connection组件.qry1的状态为关闭.下列代码在执行第一次的时候没有错误,在执行第二次的时候发生错误:Access violation at address 1f453e6e in moudle 'msado15.dll'.write of address 00fbb020.
这是为什么???高手请回答,多谢.
//代码为//////
try
qry1.SQL.Clear;
qry1.SQL.Add(s);//s为正确的sql语句
qry1.ExecSQL;
qry1.Open;
if qry1.RecordCount>0 then
begin
listbox1.Clear;
qry1.First;
while not qry1.Eof do
begin
listbox1.Items.Add(trim(qry1.FieldValues['fileno']));
qry1.Next;
end;
end
else
showmessage('没有找到符合要求的记录');
finally
qry1.Close;
end;
这是为什么???高手请回答,多谢.
//代码为//////
try
qry1.SQL.Clear;
qry1.SQL.Add(s);//s为正确的sql语句
qry1.ExecSQL;
qry1.Open;
if qry1.RecordCount>0 then
begin
listbox1.Clear;
qry1.First;
while not qry1.Eof do
begin
listbox1.Items.Add(trim(qry1.FieldValues['fileno']));
qry1.Next;
end;
end
else
showmessage('没有找到符合要求的记录');
finally
qry1.Close;
end;
2。试试
try
qry1.SQL.Clear;
qry1.SQL.Add(s);//s为正确的sql语句
qry1.Open;
if qry1.RecordCount>0 then
begin
listbox1.Clear;
qry1.First;
while not ( qry1.Eof or qry1.FieldByName['fileno'].IsNull do
begin
listbox1.Items.Add(trim(qry1.FieldByName['fileno'],AsString));
qry1.Next;
end;
end
else
showmessage('没有找到符合要求的记录');
finally
qry1.Close;
end;
比较好吧。