线程异常问题

zgwu 2002-08-17 11:54:09
程序很简单,请问为什么会有异常?

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,unit2,
Db, DBTables;

type
TForm1 = class(TForm)
Query1: TQuery;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
ThreadGetCMM = class(TThread)
tQuery:TQuery;
public
procedure Execute; override;
end;
var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var myThreadGetCMM:ThreadGetCMM;

begin
myThreadGetCMM:=ThreadGetCMM.Create(false);
myThreadGetCMM.FreeOnTerminate:=true;

end;


procedure ThreadGetCMM.Execute;
begin
try
tQuery.Close;
tQuery.ParamByName('empid').AsString:='1';
tQuery.ParamByName('sYear').AsString:='1';
tQuery.ParamByName('sMonth').AsString:='1';
tQuery.Open;
except
ShowMessage('线程异常');
end

end;

end.
...全文
63 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzrlover 2002-08-17
  • 打赏
  • 举报
回复
SQL语句呢?参数类型是否正确
wgjsoft 2002-08-17
  • 打赏
  • 举报
回复



procedure ThreadGetCMM.Execute;
begin
try
query:=Tquery.create(nil);
Query.Close;
query.sql.clear;
query.sql.add('......');
Query.ParamByName('empid').AsString:='1';
Query.ParamByName('sYear').AsString:='1';
tQuery.ParamByName('sMonth').AsString:='1';
tQuery.Open;
except
ShowMessage('线程异常');
query.free;
end

end;
客户请求时自动产生一个query来操作数据库

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧