求助post怎么设置,保存对数据库的修改

xqlsaber 2011-11-10 10:53:32
具体是我做了两个form
form1为主form 显示数据库 person表 并包括 添加 修改 删除 保存 4个按钮
在点击 添加 修改 会弹出form2
然后对 edit1 edit2 edit3 combobox1 填写内容后 点击保存 能将数据保存到数据库
现在对点击按钮的 代码怎么写 代码我贴出来 form2的
unit Unit2;

interface

uses
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
这里要怎么写
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.
总体上就这么多
小弟肯定各位大虾鼎力相助
...全文
171 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
linghengmao 2011-11-11
  • 打赏
  • 举报
回复
建議LZ先看一些入門的書。有一本叫什麼 DELPHI數據庫 黑皮書,具體叫什麼記不清了。專門講數據控件的。
funxu 2011-11-10
  • 打赏
  • 举报
回复
tadoquery是类名,不是控件名,点击控件,name的地方显示的才是控件名
adocommand是控件,有个Connection属性指向adoconnection控件,想知道怎么用可以问百度,满屏的例子,表告诉我你是外国人不懂中文,我是中国人不懂外文的
xqlsaber 2011-11-10
  • 打赏
  • 举报
回复
我把adoquery1 改成我自己的 TADOQuery后
又出现
This form of method call only only allowed for class methods.
xqlsaber 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 funxu 的回复:]
大哥,adoquery1是你ado控件的名字,自己改一下
[/Quote]
本人纯新手 刚进公司 学习
新接触的不懂
你能说详细一点吧 我知道这就跟问 高中生 100以内算术一样
不吝赐教啊
xqlsaber 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 funxu 的回复:]
[ 插入部分可以增加一个adocommand,con指向adoconnection
adocommand1.commandtext:='insert into 表(字段1,字段2) values('''+值1+''','''+值2+''')';
adocommand1.execute;
[/Quote]
这个adocommand 是控件 还是 定义的 还有那个con 怎么指向adoconnection
还是说直接把代码贴上去就好了
funxu 2011-11-10
  • 打赏
  • 举报
回复
大哥,adoquery1是你ado控件的名字,自己改一下
funxu 2011-11-10
  • 打赏
  • 举报
回复
这里是写插入部分的 要怎么写
插入部分可以增加一个adocommand,con指向adoconnection
adocommand1.commandtext:='insert into 表(字段1,字段2) values('''+值1+''','''+值2+''')';
adocommand1.execute;
xqlsaber 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
Self.ModalResult := mrOk;这样关闭窗体,然后
ShowModal;
if ModalResult = mrOK then
begin
adoquery1.edit;
adoquery1.fieldbyname('xxx').asstring := edit1.text;
adoque……
[/Quote]
编译后 显示adoquery1 木有定义 不知道怎么办
bdmh 2011-11-10
  • 打赏
  • 举报
回复
这里要怎么写

Self.ModalResult := mrOk;这样关闭窗体,然后
ShowModal;
if ModalResult = mrOK then
begin
adoquery1.edit;
adoquery1.fieldbyname('xxx').asstring := edit1.text;
adoquery1.Post;
end;
funxu 2011-11-10
  • 打赏
  • 举报
回复
delphi5开发人员指南
xqlsaber 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 robin95314852 的回复:]

小学生先啃书;
等你懂了0-100,加,减,乘,除后,遇到问题再来问吧!
现在大家说什么你也不懂!
[/Quote]
那能推荐一点书不,电子版的也行,初级学习资料了
delphi的资料感觉好少
请推荐一点 对于我这小学生
Robin95314852 2011-11-10
  • 打赏
  • 举报
回复
小学生先啃书;
等你懂了0-100,加,减,乘,除后,遇到问题再来问吧!
现在大家说什么你也不懂!
xqlsaber 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 funxu 的回复:]
tadoquery是类名,不是控件名,点击控件,name的地方显示的才是控件名
adocommand是控件,有个Connection属性指向adoconnection控件,想知道怎么用可以问百度,满屏的例子,表告诉我你是外国人不懂中文,我是中国人不懂外文的
[/Quote]
那你意思是ADOQuery1是控件名 用这个??
但是编译说未定义 不知道要具体怎么操作 我新手 不懂 但不知道怎么找资料
还有我们头意义是不实用控件去添加信息
不知道怎么做

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧