首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

query.post后提示“缺少更新或刷新的键列信息”?是咋回事?

2012-03-25 
query.post后提示“缺少更新或刷新的键列信息”??是怎么回事??写了个form上边全用dbedit,dbcombobox等query.

query.post后提示“缺少更新或刷新的键列信息”??是怎么回事??
写了个form

上边全用dbedit,dbcombobox等

query.open后各个内容修改正常

但是通过post提交后提示“缺少更新或刷新的键列信息”设么意思??

大虾们请指教!!怎么解决??

[解决办法]
TADOQuery的Post最终是转化为SQL更新的。如果你显示的数据是关联查询出来,这样会同时更新几个表的,这时需要确定你是否要同时更新几个表,而且不能存在主键重复的情况。如果你显示的数据是单表数据的话,肯定是发生了关键字冲突,造成有重复的记录。
[解决办法]
Query是不能直接更新的!
你可以在BeforePost事件中处理:
var
ls_sql:string;
ls_sql:= 'update set field1=... where KeyField= ' ' ' ' ';
tempQuery.sql.clear;
tempQuery.sql.add(ls_sql);
tempQuery.Execute;
abort;
query.ref...

热点排行