使用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;
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;
出错提示当前记录不在插入或编辑状态。记录指向最后一条记录,dbgrid中没有新记录。