使用tadoquery、tdbgrid过程中遇到当点击tdbgrid中的数据时,添加不了新记录,如果刚进窗体直接点就可以.
procedure Tfcost.ToolButton1Click(Sender: TObject);
var
  i,j,k:integer;
  s1,s2:string;
begin
if  adoquery1.Active then
    begin
      adoquery1.FindLast;
      i:=adoquery1.RecNo;
      s1:=adoquery1.FieldValues['fcostcode'];
      i:=strtoint(s1)+1;
      s2:=format('%.4d',[i]);
       adoquery1.Append;
      adoquery1.FieldByName('fcostcode').Value:=s2;
      adoquery1.FieldByName('fcostname').Value:='<新项目>';
      adoquery1.FieldByName('fcosttypid').Value:=1;
      adoquery1.FieldByName('fmoney').Value:=0;
    end;end;

解决方案 »

  1.   

    补充一下
     出错提示当前记录不在插入或编辑状态。记录指向最后一条记录,dbgrid中没有新记录。
      

  2.   

    你最好弄一个dbnavigator,这样操作起来更直观一些
      

  3.   

    用dbnavigator也是一样,要按两次才看见新记录。
      

  4.   

    再补充一下,我的数据库是sql server 2000 ,有个字段是fcostid是自动的