delphi 在做生成表时出错:运行时报错是:CommandText does not return a result set. 请高手帮忙看看!

procedureTsztj.SpeedButton1Click(Sender:TObject);beginwithdm.srglADOQdobeginclose;sql... procedure Tsztj.SpeedButton1Click(Sender: TObject);
begin
with dm.srglADOQ do
begin
close;
sql.Clear;
sql.Add('select 收入日期,收入类型,收入金额 from srgl where 收入日期 between :d1 and :d2');
parameters.ParamByName('d1').Value:=datetimepicker1.Date;
parameters.ParamByName('d2').value:=datetimepicker2.Date;
open;
end;
with dm.zcglADOQ do
begin
close;
sql.clear;
SQL.Add('select 支出日期,支出类型,支出金额 from zcgl where 支出日期 between :d1 and :d2');
parameters.ParamByName('d1').Value:=datetimepicker1.Date;
parameters.ParamByName('d2').value:=datetimepicker2.Date;
open;
end;
try
with dm.sztjADOQ do
begin
close;
sql.Clear;
sql.Add('insert into szb values(:a,:b,:c,:d,:e,:f)');
parameters.ParamByName('a').Value:=dm.srglADOQ.fieldbyname('收入日期').Value;
parameters.ParamByName('b').Value:=dm.srglADOQ.fieldbyname('收入类型').Value;
parameters.ParamByName('c').Value:=dm.srglADOQ.fieldbyname('收入金额').Value;
parameters.ParamByName('d').Value:=dm.zcglADOQ.fieldbyname('支出日期').Value;
parameters.ParamByName('e').Value:=dm.zcglADOQ.fieldbyname('支出类型').Value;
parameters.ParamByName('f').Value:=dm.zcglADOQ.fieldbyname('支出金额').Value;
open;
end;
finally
end;
end;
先谢谢各位高手。
展开
 我来答
琴秀曼Bp
2011-05-09 · TA获得超过690个赞
知道小有建树答主
回答量:615
采纳率:0%
帮助的人:668万
展开全部
insert语句没有返回结果集,调用时应该用ExecSQL方法而不是Open
追问
没有错误了,可是DBgrid表格没有显示数据,不知道什么原因,可以帮看看吗?
追答
DBGrid是否已经正确连接了数据集呢?如果是说连接sztjADOQ的DBGrid没有显示,这是理所当然的,因为insert语句没有返回数据集,要显示这个的更新结果,就要再作一次查询。
idon_2005
2011-05-09
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
你dbgrid datasource 和datasource的dataset 设置好了米有啊
追问
好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式