用TQuery从两个表中select出来的数据,在TDBGrid中能不能修改?

acneyouth 2003-09-04 10:35:04
我一开始认为不能修改,所以用一个TStringGrid来显示数据,很是麻烦,后来偶然发现在这个程序中,用TDBGrid显示数据,是可以在TDBGrid中修改的,于是我重做了一个小程序来证实这一点,用TDBGrid来显示,却发现新程序中不能修改,每次修改以后,一点TDBGrid的其它行,程序就报错,说“有语法错误,在位于''的地方”,就象TQuery的SQL属性为空一样。两个程序的TDatabase、TDatasource、TQuery的所有属性都是一样的,为什么结果不一样?请大家提点提点。
...全文
81 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljianq 2003-09-09
  • 打赏
  • 举报
回复
建议使用TUpdateSQL
cxlfreefly 2003-09-09
  • 打赏
  • 举报
回复
如果所以ADOQUERY的话,可以进行对查询结果进行修改
niuzhenjun 2003-09-09
  • 打赏
  • 举报
回复
多表或者是lookup字段都容易出现这个问题,没有办法。
acneyouth 2003-09-08
  • 打赏
  • 举报
回复
谢谢,但是我的意思是,为什么我在新建的验证程序中不能在DBGrid中直接修改,原来的程序却可以呢?
xiaokange 2003-09-08
  • 打赏
  • 举报
回复
把所有非主键字段全部允许为空,就不会提示为空错误了
mikesome 2003-09-04
  • 打赏
  • 举报
回复
多表查询是不允许修改的,无论是dbgrid里还是用query的方法

单表查询的话,只需把query的requestlive属性设为true,就可以修改
CityHost 2003-09-04
  • 打赏
  • 举报
回复
数据库的多表查询不允许修改,否则产生二义性。
Libran 2003-09-04
  • 打赏
  • 举报
回复
与数据库及其他属性设置有关
检查TQuery的CanModify属性,为true可以修改,为false不能
tanbi52 2003-09-04
  • 打赏
  • 举报
回复
可能不能修改,如果你那个字段有限制:非空,唯一 。。。。。修改后的值恰好不满足条件
当然会出错了
hong668 2003-09-04
  • 打赏
  • 举报
回复
如果要修改分别对两个别进行单独修改;写两条SQL
kingcaiyao 2003-09-04
  • 打赏
  • 举报
回复
多表查询涉及到各表的唯一性,完整性,所以不可以修改,你应修改DBGrid的Options属性使之不能够被修改.

1,178

社区成员

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

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