一个dbgrid,它的dataSource为adoquery,我想用一个Button对它进行增加操作,出现一个inputbox提示输入,同时让表中的序号自动增加,代码如下:
procedure TfrmEditColor.Button1Click(Sender: TObject);
var
i:integer;
s:string;
begin
with dmquery do
begin
qryproject.Close;
qryproject.SQL.Text:='select * from project';
qryproject.Open;
qryproject.Last;
qryproject.Append;
s:=inputbox('输入系统名','请输入系统名:','');
qryproject.FieldByName('proname').AsString:=s;
i := qryproject.FieldByName('proid').AsInteger+1 ;
qryproject.FieldByName('proid').AsInteger := i;
end;
end;
可是有错,谁帮忙解决一下!
procedure TfrmEditColor.Button1Click(Sender: TObject);
var
i:integer;
s:string;
begin
with dmquery do
begin
qryproject.Close;
qryproject.SQL.Text:='select * from project';
qryproject.Open;
qryproject.Last;
qryproject.Append;
s:=inputbox('输入系统名','请输入系统名:','');
qryproject.FieldByName('proname').AsString:=s;
i := qryproject.FieldByName('proid').AsInteger+1 ;
qryproject.FieldByName('proid').AsInteger := i;
end;
end;
可是有错,谁帮忙解决一下!
qryproject.Last;
s:=inputbox('输入系统名','请输入系统名:','');
qryproject.FieldByName('proname').AsString:=s;
i := qryproject.FieldByName('proid').AsInteger+1 ;
qryproject.Append;
qryproject.FieldByName('proid').AsInteger := i;
i := qryproject.FieldByName('proid').AsInteger+1 ;
s:=inputbox('输入系统名','请输入系统名:',''); qryproject.Append;
qryproject.FieldByName('proname').AsString:=s;
qryproject.FieldByName('proid').AsInteger := i;
qryproject.Post;
问题已解决,谢谢了,确实是顺序有问题
qryproject.Last;
i := qryproject.FieldByName('proid').AsInteger+1 ;
//s:=inputbox('输入系统名','请输入系统名:','');
lable1.caption:=inputbox('输入系统名','请输入系统名:','');
qryproject.Append;
qryproject.FieldByName('proname').AsString:=s;
//这一句可以不要,我要提示 又不是把她加 进记录集
qryproject.FieldByName('proid').AsInteger := i;
qryproject.Post;
还请三个星的大哥/姐 看一下这样行不?