我有一个程序,查询一个月的数据。可是我碰到一个问题,如果我本月的数据集中有数据,那么对下个月进行查询的时候,首先运行adoquery.close,不会报错。但是,如果本月的数据集中没有数据,那么对下个月进行查询的时候,因为开始要运行adoquery.close,所以报错!
我的结论是adoquery.close进行操作时,必须保证adoquery不是空。那么,如果adoquery是空,但是我又想继续进行下面的查询,怎么样做才能避免错误发生,请高人指点!
我的结论是adoquery.close进行操作时,必须保证adoquery不是空。那么,如果adoquery是空,但是我又想继续进行下面的查询,怎么样做才能避免错误发生,请高人指点!
解决方案 »
- DBGrideh某一列如何显示成checkbox
- 急救!怎么用adotable连接paradox数据库?
- 问个问题:判断字符串采取相应的处理,我想用case语句,不想用if,怎么办?
- 怎么根据edit中的值加载image
- 关于 Delphi2010 下安装 fastReport4 的问题!
- 怎么禁用窗体的最大化功能?
- 用combobox的addobject能不能实现这样的功能
- 远程主机强迫关闭了一个现有的连接
- 请问如何在MS SQL中对该表添加一个自递增字段
- *****如何实现这一方法*****
- 明天要去面试,好紧张!大家给点建议
- 关于移动要做一个SP接入MISC1.6系统的PROVISION接口
begin
.....
end
打开的时候你怎么写的?
try
adoquery.open;
except
adoquery.execsql;
end;下次打开没问题呀?
with adoquery do
begin
close;
sql.clear;
sql.add('select * from sub_lh');
open;
end;
而我也没有在adoquery 中填任何的语句呀,都不会出错
try
ADOQuery1.Close
except
end;
包括:query:=tadoquery.create(nil);
query.connection:=adoCnn;
query.close;都不会出错可能是程序别的地方有错
procedure TForm3.DateTimePicker1Change(Sender: TObject);
var
sql:string;
sum:double;
begin
sum:=0;
form3.mon_in.Caption:='.......';
form1.ADOQuery2.Close;//就是这个地方,当上次的sql运行为空时,就出错!
form1.ADOQuery2.SQL.Clear;
sql:='select imoney from income where irq='+'#'+FormatDateTime('yyyy-mm',form3.DateTimePicker1.DateTime)+'#';
form1.ADOQuery2.SQL.Add(sql);
form1.ADOQuery2.Open;
while not form1.ADOQuery2.Eof do
begin
sum:=sum+form1.ADOQuery2.fieldbyname('imoney').asfloat;
form1.ADOQuery2.Next;
end;
form3.mon_in.Caption:=FloatToStr(sum);
end;
sql:='select imoney from income where irq='+'#'+FormatDateTime('yyyy-mm',form3.DateTimePicker1.DateTime)+'#';
谢谢!
irq<='''+DateTimeToSTr(lastdate)+'''';
if Adoquery1.active Then
adoquery1.active := not adoquery1.active;要有数据积活的话你就关闭