具体是我做了两个form
form1为主form 显示数据库 person表 并包括 添加 修改 删除 保存 4个按钮
在点击 添加 修改 会弹出form2   
然后对 edit1 edit2 edit3 combobox1 填写内容后 点击保存 能将数据保存到数据库
现在对点击按钮的 代码怎么写 代码我贴出来 form2的
unit Unit2;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ADODB;type
  TOperate = (otAdd, otEdit);
  TForm2 = class(TForm)
  Label1: TLabel;
  Edit1: TEdit;
  Label2: TLabel;
  Edit2: TEdit;
  Label3: TLabel;
  Edit3: TEdit;
  Button1: TButton;
  Button2: TButton;
  ComboBox1: TComboBox;
  Label4: TLabel;
  procedure Button1Click(Sender: TObject);
  private
  Fop: TOperate;
  procedure InitWindow(Query: TADOQuery);
  public
  { Public declarations }
  end;var
  Form2: TForm2;function ShowPersonInfo(Query: TADOQuery; op: TOperate): Boolean;implementation
  uses Unit1;
{$R *.dfm}function ShowPersonInfo(Query: TADOQuery; op: TOperate): Boolean;
begin
 with TForm2.Create(nil) do
 try
  Fop := op;
  InitWindow(Query);
  Result := ShowModal = mrOk;
 finally
  Free;
 end;
end;{ TForm2 }
procedure TForm2.Button1Click(Sender: TObject);
begin
  Self.ModalResult :=mrOk;
  ShowModal;
  if ModalResult=mrOK then
  begin
    Query.edit;
    Query.fieldbyname('XH').AsString:=edit1.Text;    这里显示Query未定义   不知道怎么去做  请各位前辈帮助
    Query.Post;
  end; 
end;procedure TForm2.InitWindow(Query: TADOQuery);
begin
  if Fop = otAdd then
  begin
  这里是写插入部分的 要怎么写
  end;
  if Fop = otEdit then
  begin
 // showmessage(Query.FieldByName('SNAME').AsString);
  Edit1.Text := Query.FieldByName('XH').AsString;
  Edit2.text := Query.FieldByName('SNAME').AsString;
  Edit3.Text := Query.FieldByName('MARKS').AsString;
  ComboBox1.items.insert(0,query.fieldbyname('SEX').AsString);
  ComboBox1.ItemIndex:=0;
  这里是写修改部分我写了一部分 不知掉全不全
  end;
end;end.
总体上就这么多
小弟肯定各位大虾鼎力相助