DBGrid 多表更新问题 混合查询得到的数据集

sparklerl 2007-06-29 04:00:16
select a.resultid, a.rdate,a.sampleid,a.IID,a.itemTypeID,a.sambtype,a.Item,a.sState AS exce,a.iState,a.iValue,a.sValue,conc=case len(isnull(a.sValue,'')) when 0 then convert(char,a.iValue) else a.sValue end,isnull(convert(decimal(9,2),b.iRLow),0) as iRLow,isnull(convert(decimal(9,2),b.iRhigh),0) as iRhigh
from result a,item b
where a.Tid=b.TID and a.item=b.item

如上 这样一条sql语句得到的数据集,DBGrid显示主要显示a.item,value

我可否在dbgrid中修改value值,后令ivalue或svalue=此值 然后通过数据集的方法更新修改

谢谢大家了
...全文
159 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sparklerl 2007-07-09
  • 打赏
  • 举报
回复
查了点资料 感觉好像ADO现在不支持多表查询,单表更新(三层结构可以,不过我的系统不是)
sparklerl 2007-07-09
  • 打赏
  • 举报
回复
我试了一下 有两个问题
1.value字段的值好像更本不能修改(计算字段的值不能修改???)

2.我只想更新result表 不想更新item表,而用数据集的方法UpdateBatch去更新,就会同时更新2个表,然后就会出错了.
abcdefgdeng 2007-07-02
  • 打赏
  • 举报
回复
可以,你在数据集的value字段的AfterChange事件后,更新ivalue或svalue的值。不知你用的是D6以上的版本还是D5。如果是D5,它有TUpSQL控件,其中可以写UPDATESQL属情中的脚本。指定只更改哪些字段。如是D6以上的,它本身有属性可以设置更新的字段。如果不作这样的设置的话,它会更新所以字段的值的。
sparklerl 2007-06-29
  • 打赏
  • 举报
回复
哈哈 楼上确定麽 还有高人来下阿
sparklerl 2007-06-29
  • 打赏
  • 举报
回复
哦 谢谢 楼上 那我只能在页面数据集中用计算列了
muroachanf 2007-06-29
  • 打赏
  • 举报
回复
不行

5,388

社区成员

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

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