这是窗体1的代码
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids;type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
ADOConnection1: TADOConnection;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses Unit2;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
Application.CreateForm(Tform2,form2);
form2.ShowModal;
adoQuery1.Active:= false;
adoquery1.Active := true;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
adoquery1.delete;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
application.createForm(Tform2,form2);
form2.Sname := ADOQuery1.fieldbyname('name').AsString;
form2.ShowModal;
end;end.
窗体2的还没写
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm2 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
Sname :string;
{ Public declarations }
end;var
Form2: TForm2;implementation
uses Unit1;
{$R *.dfm}procedure TForm2.Button2Click(Sender: TObject);
begin
close;
end;procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.ADOQuery1.Append;
Form1.ADOQuery1.FieldByName('name').AsString := Form2.Edit1.Text;
Form1.ADOQuery1.Post;
end;end.
要实现的功能是窗体1的三个按钮实现增加,修改,删除DBGird显示的数据
窗体2实现点击窗体1的增加或者修改按钮就弹出并输入数据传给sql在由DBGird读取!
要用Form1.ADOQuery1.Append;
Form1.ADOQuery1.FieldByName('name').AsString := Form2.Edit1.Text;
这种方法写!明白我意思的人帮忙写一下怎么办!本人菜鸟!写详细点谢谢拉!
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids;type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
ADOConnection1: TADOConnection;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses Unit2;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
Application.CreateForm(Tform2,form2);
form2.ShowModal;
adoQuery1.Active:= false;
adoquery1.Active := true;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
adoquery1.delete;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
application.createForm(Tform2,form2);
form2.Sname := ADOQuery1.fieldbyname('name').AsString;
form2.ShowModal;
end;end.
窗体2的还没写
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm2 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
Sname :string;
{ Public declarations }
end;var
Form2: TForm2;implementation
uses Unit1;
{$R *.dfm}procedure TForm2.Button2Click(Sender: TObject);
begin
close;
end;procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.ADOQuery1.Append;
Form1.ADOQuery1.FieldByName('name').AsString := Form2.Edit1.Text;
Form1.ADOQuery1.Post;
end;end.
要实现的功能是窗体1的三个按钮实现增加,修改,删除DBGird显示的数据
窗体2实现点击窗体1的增加或者修改按钮就弹出并输入数据传给sql在由DBGird读取!
要用Form1.ADOQuery1.Append;
Form1.ADOQuery1.FieldByName('name').AsString := Form2.Edit1.Text;
这种方法写!明白我意思的人帮忙写一下怎么办!本人菜鸟!写详细点谢谢拉!
var
form2:TForm2;
begin
form2:=TForm2.create(nil);
form2.Sname := ADOQuery1.fieldbyname('name').AsString;
form2.ShowModal;
if (mrOK=form2.ModalResult) then
begin
showmessage(form2.Sname);
这里保存
end;
form2.free;end;/************************************
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm2 = class(TForm)
Edit1: TEdit;
btn_Cancel: TButton; ModalResult= mrCancel //设置这两个按钮的属性
btn_OK: TButton; ModalResult= mrOK
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
FSname: String;
procedure SetSname(const Value: String);
{ Private declarations }
public
{ Public declarations }
published
property Sname:String read FSname write SetSname;
end;将这里定义的 form2:TForm2 删除implementation{$R *.dfm}{ TForm2 }procedure TForm2.SetSname(const Value: String);
begin
FSname := Value;
Edit1.Text :=Value;
end;procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if ''=trim(Edit1.text) then
begin
ShowMessage('不允许为空');
CanClose:=False;
end
else
FSname:=trim(Edit1.Text);
end;end.
id --- 字符串
name ----字符串
增加:
增加按钮的onclick事件中加入一下代码: Application.CreateForm(Tform2,form2);
try
form2.ShowModal;
finally
form2.free;
end;窗口2中, 放2个编辑框: IdEdit, NameEdit, 用于输入新的记录内容, 再放一按钮用于保存数据,在按钮的onclick事件中写:
with Adoquery1 do
begin
if IdEdit.text = '' or NameEdit.text = '' then
begin
//提示输入数据;
//中止处理
Exit;
end; close;
sql.clear;
sql.text := "insert into TestTable Values('''+IdEdit.Text+''','''+NameEdit.Text+''')";
ExecSQL;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//加入一条空白记录
SampleTable.Append;
//设置字段值
SampleTable.FieldValues['ALPHANUMERIC'] := Edit1.text;
SampleTable.FieldValues['INTEGER'] := StrToInt(Edit2.text);
//保存
SampleTable.Post;
end;
begin
//插入记录
ClientDataSet1.Insert;
//字段赋值
ClientDataSet1.FieldByName('QUANTITY').AsInteger := StrToInt(Edit1.Text);
//提交保存
ClientDataSet1.Post;
end;
在窗口2的onshow事件中,加入类似的代码:
form2.Sname := ADOQuery1.fieldbyname('name').AsString;修改:
procedure TForm2.Button1Click(Sender: TObject);
begin
//插入记录
adoquery1.edit;
//字段赋值
adoquery1.FieldByName('QUANTITY').AsInteger := StrToInt(Edit1.Text);
//提交保存
adoquery1.Post;
end;