delphi ADOQuery1.OPEN第二次打开就死掉了
form1点击按钮A,打开form2,并调用下面的代码,查询出数据绑定给cmbDoorName;
当我把form2关闭后,再点击按钮A,在ADOQuery1.Open处就完全卡死了。
请教下这个是什么原因??
delphi ADOQuery 死机
// 初始化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;
[解决办法]
就你说的这些真判断不出,ADOQuery连接数据库了么?
[解决办法]
form2如果是动态创建的,那每次create form2的时候都需要初始化连接参数;clear是清除了sql语句。
[解决办法]
把创建FORM代码也列出来吧。 这段代码 看不出来啥问题
[解决办法]
这种问题,一般是 创造,没释放,或 没关闭数据控件相关东西,
[解决办法]
没有全码还真判断不了。。
[解决办法]
这种可能性比较大
[解决办法]
在循环的前面加一句试试 ADOQuery1.First;
------解决方案--------------------
这段代码没有问题,是别的原因,代码上多一点。