读书人

delphi ADOQuery1.OPEN第二回打开就死

发布时间: 2013-09-05 16:02:07 作者: rapoo

delphi ADOQuery1.OPEN第二次打开就死掉了
form1点击按钮A,打开form2,并调用下面的代码,查询出数据绑定给cmbDoorName;
当我把form2关闭后,再点击按钮A,在ADOQuery1.Open处就完全卡死了。
请教下这个是什么原因??


// 初始化cmbDoor
cmbDoorName.Clear;
cmbDoorName.Items.Add('');

sSql := 'select * from table order by doorName';

if trim(sSql) <> '' then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:=sSql;
ADOQuery1.Open;
while not ADOQuery1.Eof do
begin
cmbDoorName.Items.Add(ADOQuery1.FieldByName('doorName').AsString);
ADOQuery1.Next;
end;
end;
delphi ADOQuery 死机
[解决办法]
就你说的这些真判断不出,ADOQuery连接数据库了么?
[解决办法]
form2如果是动态创建的,那每次create form2的时候都需要初始化连接参数;clear是清除了sql语句。
[解决办法]
把创建FORM代码也列出来吧。 这段代码 看不出来啥问题
[解决办法]
这种问题,一般是 创造,没释放,或 没关闭数据控件相关东西,
[解决办法]
没有全码还真判断不了。。
[解决办法]
引用:
这种问题,一般是 创造,没释放,或 没关闭数据控件相关东西,

这种可能性比较大
[解决办法]
在循环的前面加一句试试 ADOQuery1.First;
------解决方案--------------------


这段代码没有问题,是别的原因,代码上多一点。

读书人网 >.NET

热点推荐