TQuery的难题研究,有请高手

Jpp 2003-06-02 10:23:49
用 select fd1,fd2,fd3 from table1 where fd1='xxx' 这样的SQL语句得到的记录集有多条记录(fd1不是表的关键字)。把fd2,fd3绑到Form上的DBEdit控件上,想通过DBEdit控件编辑这记录集中多条记录的fd2,fd3的值。原以为通过DBEdit控件修改字段值时,TQuery控件会产生 update table1 set fd2='aaa',fd3='bbb' where fd1='xxx' 这样的SQL语句(注意:where fd1='xxx'),没想到自动产生的SQL语句竟然包括表中的主键字段,而主键字段不没有出现在原来的select语句中。

问:有什么办法让TQuery控件按 where fd1='xxx' 条件更新?
...全文
33 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yingyys 2003-06-04
  • 打赏
  • 举报
回复
没试过
annkie 2003-06-03
  • 打赏
  • 举报
回复
我认为你应该自己使用update语句解决问题,而不是非要使用ide提供的自动生成sql语句,自己写的效率高为什么不使用?
是我就选择前者了。
lanren_me 2003-06-02
  • 打赏
  • 举报
回复
去掉关键字,就可以更新了;
更新后再把关键字设置回去
Jpp 2003-06-02
  • 打赏
  • 举报
回复
我不想自己写update语句。需要用TQuery在其记录集中的数据被编辑修改后自动生成的update语句。现在是想办法怎样能让它自动生成的update语句中的where子句不包括其他字段的条件。
apacheshine 2003-06-02
  • 打赏
  • 举报
回复
先试一下将FD1 FD2 FD3 帮定到DBGRID上,然后修改,看会有什么提示。因为这些字段
来自于一个表,按道理来讲应该可以按照你的想法更新的。
另外就是是不是在写完数据的时候用post提交一下
nxyc_twz 2003-06-02
  • 打赏
  • 举报
回复
我觉得你用TQuery+TUpdateSQL方式应该会好一些!
TQuery中的SQL: select fd1,fd2,fd3 from table1 where fd1='xxx'
TUpdateSQL中的Update语句:update table1 set fd2='aaa',fd3='bbb' where fd1='xxx'
Jpp 2003-06-02
  • 打赏
  • 举报
回复
此帖更多的讨论在Delphi版中:

http://expert.csdn.net/Expert/topic/1864/1864492.xml?temp=.7665216

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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