具体是我做了两个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;
  private
    Fop: TOperate;
    procedure InitWindow(Query: TADOQuery);
  public
    { Public declarations }
  end;var
  Form2: TForm2;function ShowPersonInfo(Query: TADOQuery; op: TOperate): Boolean;implementation{$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.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.

解决方案 »

  1.   


    Query.edit;
       Query.FieldByName('XH').AsString:=edit1.txt;
       ..............
    Query.post;
      

  2.   

    这段代码是写在butten1的触发事件里嘛
    procedure TForm2.Button1Click(Sender: TObject);
    begin
      Query.edit;
        Query.FieldByName('XH').AsString:edit1.txt;
      Query.post;
    end;
    是这里否  我编译 说Query 没定义  还有显示    E2066 Missing operator or semicolon.
      

  3.   

    procedure TForm2.Button1Click(Sender: TObject);
    begin
      Query.edit;
      Query.FieldByName('XH').AsString:edit1.txt;
      Query.post;
    end;
    Query.FieldByName('XH').AsString:=edit1.txt;
    至于,说Query 没定义,自己想想
      

  4.   

    我改成了TADOQuery   好了  但是又显示 This form of method call only allowed for class methods.    于是又不懂了   刚接触delphi  什么都还不懂 求 解答 属于小白一个
      

  5.   

    我改了  然后query没定义 我也改了  写成我的 TADOQuery了
    可是编辑后又说是This form of method call only allowed for class methods.