qryTemp:=....移动到Try前面就可以了.
解决方案 »
- 菜鸟 关于delphi7 combobox的dropdown事件
- 如何用delphi写DLL使它能够在游戏呼出?
- 鼠标放在某一行上如何判断这条记录的ID
- ●●◎☆今天早上和老婆吵架,烦!!干不下去活,来散分!!!散它111!消消气!!!●◎☆☆
- sql语句中的where问题?
- 如何在查询结果窗口正确显示数据???
- 1000分求AHM for DELPHI5,or 6,or 7的注册方法。随便三者之一都行,谢谢各位了
- 如何对报表中的一个字段的记录进行计算?
- 请问 Tanimateimage 控件在哪里可以下载呀??只有30分了,送!!
- 请教几个问题?
- 誰知道哪里有講第三方控件的書download?
- 关于如何实现UltraEdit类似的文件改变监控
我当然知道,但是为何这样呢?我可是想将qryTemp:=TQuery.Create(Self);它当成可能出现异常的情况来拦截的哦!
另外,象这样的编写风格是否有误呢?
begin
with TQuery.Create(Self) do try
Result := False;
DatabaseName := DBName;
UnPrepare;
SQL.Text := 'SELECT COUNT(*) RcdConut FROM Ladbill';
Prepare;
Open;
Result := FieldByName('RcdCount').AsInteger <> 0;
finally
Free;
end;
end;
var qryTemp:TQuery;
begin
qryTemp:=TQuery.Create(Self);
try
result:=false;
qryTemp.DatabaseName:='DBName';
with qryTemp do
begin
Close;
UnPrepare;
SQL.Clear;
SQL.Add('Select Count(*) rcdcount From Ladbill');
Prepare;
Open;
if FieldByName('rcdcount').AsInteger=0 then result:=false
else result:=true;
end;
finally
qryTemp.Free;
end;
end;
//因为
//TQuery.Create也有可能会出现异常
//而你用try .. finally .. end
//qryTemp.Free; 这句是不管怎样都会执行的哦
//当TQuery.Create出现异常时执行qryTemp.Free就是非法的
//要把qryTemp:=TQuery.Create(Self)放在try .. finally .. end前面就OK了
加分。