读书人

更新表后dbgrid 中数据即时更新有关

发布时间: 2012-03-18 13:55:38 作者: rapoo

更新表后,dbgrid 中数据即时更新问题
一个窗体,其中我建了 adoconnection adoquery adotable datasource dbgrid dbnavigator 还有一个button
access数据库表中有 单价 数量 金额 等字段
主要想实现当我向dbgrid 中加入新物品的单价 和数量后金额自动生成,保存进数据库 并且即时显示在dbgrid 中
button 的代码 adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('update fy set hjje=sl*dj,zfje=hjje*zfbl');
adoquery1.ExecSQL;
可是现在我的程序是 点我输入完新的单价和数量后,点一下button,金额不出现,当我把程序关闭一次重新打开后金额就有了。有谁知道是怎么回事吗?最好能告诉我怎么能实现我上面所提到 的功能。
俺是菜鸟 ,还请大家多多帮忙。

[解决办法]
用sql更新数据 并不能立刻反应到数据感知控件上,

你需要刷新数据集 或者重新打开数据集
[解决办法]
如果你只是录入一条数据的话,没必要用update,直接用
adoquery.edit;
adoquery.filedbyname('hjje').ascurrency := adoquery.filedbyname('sl').ascurrency*adoquery.filedbyname('dj').ascurrency;
adoquery.Post;
[解决办法]

探讨
引用:
如果你只是录入一条数据的话,没必要用update,直接用
adoquery.edit;
adoquery.filedbyname('hjje').ascurrency := adoquery.filedbyname('sl').ascurrency*adoquery.filedbyname('dj').ascurrency;
adoquery.Post;
……

[解决办法]
报adoquery1: cannot perform this opration on a closed dadaset.

看一下你的AdoConnection 打开了吗?或者adoquery1的connection属性是不是指到了AdoConnection 了。
[解决办法]
也有类似的疑问,帮顶,UP

读书人网 >.NET

热点推荐