我用query查询一个表,因为我就想在dbgrid中直接修改,所以将requestlive设为true,但系统出错"table is readonly".
很奇怪,sql语句如是"select * from main"时,一点问题没有;但如果我改为
"select id 合同号 from main"就会错.而我想在表格中字段名显示为中文.
我是在程序一执行就运行这个query,应该不存在query间的冲突.
这个问题已经困扰了我多时,现在我都快急死了,只好来求求各位大虾了.
或者还有什么更好的方法来修改表中的数据,能和dbgrid一样简单直观,又不用
自己写许多代码.
谢谢!
很奇怪,sql语句如是"select * from main"时,一点问题没有;但如果我改为
"select id 合同号 from main"就会错.而我想在表格中字段名显示为中文.
我是在程序一执行就运行这个query,应该不存在query间的冲突.
这个问题已经困扰了我多时,现在我都快急死了,只好来求求各位大虾了.
或者还有什么更好的方法来修改表中的数据,能和dbgrid一样简单直观,又不用
自己写许多代码.
谢谢!
可以这样解决:
sql语句用"select id from main";
在dbgrid中先把字段名加进去:双击dbgrid,弹出Column Editor,添加一个Column,把FieldName设为‘id’,再把Title.Caption设为‘合同号’。
个问题。因为我现在底层已经做好要该的话有点麻烦。
你的这种解决方案解决不了我的问题,我是想把 select XXX as fName from table 种的 XXX 统一换成 fName 来,达到底层代码好管理。 谢谢你的回答!!!
对,把cachedupdate属性设为true,然后增加一个tupdatesql控件,在query的updateobject与updatesql关联更新!!! 但是我还是有疑问:
1. 这是唯一的解决办法吗?还有其它的解决办法吗?
2. Tupdatesql 是不是为了解决Tquery的这个问题才开发的一个控件?
TUpdateSQL applies cached updates on behalf of queries or stored procedures that can抰 post updates directly.
Use a TUpdateSQL object to provide SQL statements used to update read-only datasets represented by TQuery or TStoredProc components when cached updates are enabled.