多运行这一小段程序没出错,但退出系统时出现“程序执行非法操作”。为什么会出现这样?(50分)

  • 主题发起人 主题发起人 zhugm1234
  • 开始时间 开始时间
Z

zhugm1234

Unregistered / Unconfirmed
GUEST, unregistred user!
运行这一小段程序没出错。但系统运行运行这一小段程序后退出系统时出
现““程序执行非法操作”。
不运行这一小段程序。退出系统时正常。

with dm1.Query2do
begin
close;
Sql.clear;
sql.text:='select no,add,name from info where no=:mno';
Params.items[0].value:=Et_no.text;
Prepare ;
open ;
mno:=fieldbyname('no').asString;
madd:=fieldbyname('add').asString;
mname:= trim(fieldbyname('name').asString);
Edit_no.text:=no;
Edit_add.text:=madd;
Edit_name.text:=mname;
end;

with dm1.Query3do
begin
close;
Sql.clear;
sql.text:='select no as 编号,add as 地址,flag as 标志 from info_qt where no=:no and
flag=:flag';
Params.items[0].value:=mno;
Params.items[1].value:='1';
Prepare ;
Open;
end;

运行环境:Delphi 5.0+SQl Server7.0 +Pwin98
系统用了ADO,因ADOquery对日期时间字段操作会出错,故又用了DataBase.
 
用 ADOquery 后. 再运行这一小段程序,退出应用程序正常.
问题已解决(如下),但大家发表意见,分照发。


with dm1.ADOQuery2do
begin
close;
Sql.clear;
sql.text:='select no,add,name from info where no=:mno';
Parameters.items[0].value:=Et_no.text;
open ;
mno:=fieldbyname('no').asString;
madd:=fieldbyname('add').asString;
mname:= trim(fieldbyname('name').asString);
Edit_no.text:=no;
Edit_add.text:=madd;
Edit_name.text:=mname;
end;

with dm1.ADoQuery3do
begin
close;
Sql.clear;
sql.text:='select no as 编号,add as 地址,flag as 标志 from info_qt where no=:no and
flag=:flag';
Parameters.items[0].value:= mno;
Parameters.items[1].value:='1';
Open;
end;
 
附加功能 将问题提前
 
没道理!
再改回去试试.
有时换个TQUERY控件就行了.
 
多人接受答案了。
 
后退
顶部