我用adotable连sql数据库添加纪录时,用dbgrid显示,提示错误:缺少更新或刷新的键列信息。请问怎么解决。

解决方案 »

  1.   

    adotable.edit;
    adotable.fieldbyname('ziduan').asstring :=edit1.text;
    adotable.post;
      

  2.   

    还有,你用的什么语句
    ADOQUERY吗
    记得一定在EXESQL前
    写上
    ADOQUERY.SQL.CLEAR
      

  3.   

    我用的是adotable和sql server数据库,我数据库里只有一条纪录啊,不可能有两条记录重复的。每一次都能输进去,但是都会出现这种错误,记录确实又输进去了。索引、主健
    都设了
      begin
        adotable1.append;
        adotable1.FieldByName('学号').asstring:=edit1.Text;
        adotable1.Post;
        adotable1.Refresh;
        dbgrid1.Refresh;
      end;
      

  4.   

    既然没错误还能录入,那就干脆
      begin
        adotable1.append;
        adotable1.FieldByName('学号').asstring:=edit1.Text;
        try
          adotable1.Post;
        except
        end;
        adotable1.Refresh;
        dbgrid1.Refresh;
      end;
      

  5.   

    adotable1.append;
        adotable1.FieldByName('学号').asstring:=edit1.Text;
        adotable1.Post;