delphi如何实现窗口添加数据到数据库里?
我是新手,我想用delphi7实现这个功能:如图1、在父窗口添加一个“增加”button,这个按钮的事件实现打开一个子窗口。procedureTForm1.Button1...
我是新手,我想用delphi7实现这个功能:
如图
1、在父窗口添加一个“增加”button,这个按钮的事件实现打开一个子窗口。
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.show;
end;
2、当子窗口弹出后,edit1或dbedit1的text里自动添加当前时间,这个要如何实现变量跟代码,新人,请详细解释并写出全部代码。
3、在子窗口里有添加一个“确定”button,实现把edit1、edit2……(或是dbedit、dbedit2……)的text内容录入数据库。
另外几个问题:
1、想调用窗口dm作为公用数据库连接,要建立数据库连接,我想用ADODataSet1,该怎么连?是否用这个最合适?
2、怎样做才能把子窗口的数据录到父窗口的DBGrid里?
3、要求日期列为date类型? 展开
如图
1、在父窗口添加一个“增加”button,这个按钮的事件实现打开一个子窗口。
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.show;
end;
2、当子窗口弹出后,edit1或dbedit1的text里自动添加当前时间,这个要如何实现变量跟代码,新人,请详细解释并写出全部代码。
3、在子窗口里有添加一个“确定”button,实现把edit1、edit2……(或是dbedit、dbedit2……)的text内容录入数据库。
另外几个问题:
1、想调用窗口dm作为公用数据库连接,要建立数据库连接,我想用ADODataSet1,该怎么连?是否用这个最合适?
2、怎样做才能把子窗口的数据录到父窗口的DBGrid里?
3、要求日期列为date类型? 展开
4个回答
展开全部
你最好使用数据库感知控件,DBEDIT等等,如果你使用普通控件,要多写一些代码,看样子你对数据库操作不太熟悉,应该多读一些基础的书。
1.你如果用数据库感知控件,保存的时候用post直接提交。如果用普通控件,你需要把edit.text值赋给字段再post提交
2.DM做公用数据模块,你需要在调用的子窗里引用就行了,uses DM;
3,关于“怎样做才能把子窗口的数据录到父窗口的DBGrid里?”这个问题,一般这样解决,在子窗体做一个向数据库里录入的功能,保存以后,父窗体重新查询一下。
1.你如果用数据库感知控件,保存的时候用post直接提交。如果用普通控件,你需要把edit.text值赋给字段再post提交
2.DM做公用数据模块,你需要在调用的子窗里引用就行了,uses DM;
3,关于“怎样做才能把子窗口的数据录到父窗口的DBGrid里?”这个问题,一般这样解决,在子窗体做一个向数据库里录入的功能,保存以后,父窗体重新查询一下。
更多追问追答
追问
大哥,重点是这个
2、当子窗口弹出后,dbedit1的text里自动添加当前时间,这个要如何实现变量跟代码,新人,请详细解释并写出全部代码。
追答
你用数据库感知控件,它会自动带出来的,用DBEDIT,明白不?
展开全部
用什么感知组件咯,你按显示子窗按钮时,给子窗的编辑框赋值,按确定按钮时将数据通过那个与网格连接着的数据组件将子窗上的数据保存数据表,网格表就会立即显示你刚才保存的数据,这时你可以继续录入数据,也可以关闭子窗。我总认为数据感知组件除了网格表之外,其它感知组件不是那么好用,显示一些数据在里面,相反不好。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1,2: button1.click 事件中
edit1.text:=datetimetostr(date(now)); //
3: 我一般是用的ADOQUERY+DATASOURCE
ADOQRERY.CONNECTSTRING:='你的数据库路径什么的';
with adoquery do
begin
close;
sql.clear;
sql.add(select ...from...where...);
open;
edit;
//append;
fieldbyname('字段名1').asstring:=edit1.text;
fieldbyname('字段名2').asstring:=edit2.text;
...
post;
end;
父窗口.dbgrid1.datasource:=datasource1;
父窗口.dbgrid1.refresh;
...
end;
...
我也不怎么会,差不多就这样了.现在机子装不了windows 程序,无法给完整有效代码了
edit1.text:=datetimetostr(date(now)); //
3: 我一般是用的ADOQUERY+DATASOURCE
ADOQRERY.CONNECTSTRING:='你的数据库路径什么的';
with adoquery do
begin
close;
sql.clear;
sql.add(select ...from...where...);
open;
edit;
//append;
fieldbyname('字段名1').asstring:=edit1.text;
fieldbyname('字段名2').asstring:=edit2.text;
...
post;
end;
父窗口.dbgrid1.datasource:=datasource1;
父窗口.dbgrid1.refresh;
...
end;
...
我也不怎么会,差不多就这样了.现在机子装不了windows 程序,无法给完整有效代码了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.edit1.text:=datatimetostr(now);
form2.show;
end;
begin
form2.edit1.text:=datatimetostr(now);
form2.show;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询