delphi7 有关问题 edit 和 dbgrid有关问题

求救delphi7 问题 edit 和 dbgrid问题
我弄了3个edit控件和一个dbgrid控件,一个button控件
请问如何通过按钮将3个edit的text分别插入到dbgrid控件的3个列里?(其中有id是自动增加的)
procedure TForm1.btn2Click(Sender: TObject);
begin
  ADOQuery1.Active:=False;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('insert into BM (aa,bb,cc) values('''+rzedit1.text+','+rzedit2.text+','+rzedit3.text+''')');
  ADOQuery1.Active:=True;
end;

------解决方案--------------------
procedure TForm1.btn2Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into BM (aa,bb,cc) values('+''''+rzedit1.text+''''+','+''''+rzedit2.text+''''+','+''''+rzedit3.text+''''+')');
//aa,bb,cc字段类型为字符串,如是数字就取消'''': ADOQuery1.SQL.Add('insert into BM (aa,bb,cc) values('+rzedit1.text+','+rzedit2.text+','+rzedit3.text')');
ADOQuery1.ExceSQL;
end;


------解决方案--------------------
const strsql:string = 'insert into 表 values (%d,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ';
s := Format(strsql,[QuotedStr(),...QuotedStr()]);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(s);
ADOQuery1.ExceSQL;


------解决方案--------------------
或者:
procedure TForm1.btn2Click(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM BM');
ADOQuery1.Active:=True;
ADOQuery1.Insert;
ADOQuery1.Fields[0].Value := rzedit1.text;
ADOQuery1.Fields[1].Value := rzedit2.text;
ADOQuery1.Fields[2].Value := rzedit3.text;
ADOQuery1.Post;

end;