具体是我做了两个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.
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.
Query.edit;
Query.FieldByName('XH').AsString:=edit1.txt;
..............
Query.post;
procedure TForm2.Button1Click(Sender: TObject);
begin
Query.edit;
Query.FieldByName('XH').AsString:edit1.txt;
Query.post;
end;
是这里否 我编译 说Query 没定义 还有显示 E2066 Missing operator or semicolon.
begin
Query.edit;
Query.FieldByName('XH').AsString:edit1.txt;
Query.post;
end;
Query.FieldByName('XH').AsString:=edit1.txt;
至于,说Query 没定义,自己想想
可是编辑后又说是This form of method call only allowed for class methods.