数据字典表 数据
id  表名   字段名   显示名称   长度   是否显示 
1   ygb   code     编码      80     true
2   ygb   name     姓名      120    true
3   ygb   sex      性别      40     true
4   bumen code     编码      80     true
5   bumen name     名称      80     true
其中字段id为自增字段,主键代码if qrytemp.active then
   qrytemp.open;
with qrytemp do
  begin
  sql.clear;
  sql.add('select * from 数据字典表 where 表名='ygb'');
  open;将qrytemp绑定到dbgrideh中修改,保存时出现 “键列不足,更新影响到多行”错误提示
是不是ado组件的的问题

解决方案 »

  1.   

    已经给你提示了:“键列不足,更新影响到多行”
    因为系统存在了表名为ygb的多条记录,是不能作为更新关键字的,必须以id或id+表名作为更新关键字的
      

  2.   

    dbgrideh 中设置id为主键
    with qrytemp do
      begin
      sql.clear;
      sql.add('select * from 数据字典表 where 表名=''ygb''');
      open;
    end;
      

  3.   

    有时由于NTFS权限的原因,在ADO读取Access文件时,也会出现这种问题!
    建议LZ把权限放大!