由于我是新手,手头没有太多的分,所以...有人能告诉我怎么把连接数据库的控件放到“Data Modules”中,然后在各个窗体中调用这些控件,多谢了! (50分

  • 主题发起人 主题发起人 尖刀
  • 开始时间 开始时间

尖刀

Unregistered / Unconfirmed
GUEST, unregistred user!
由于我是新手,手头没有太多的分,所以...有人能告诉我怎么把连接数据库的控件放到“Data Modules”中,然后在各个窗体中调用这些控件,多谢了! (50分)<br />我试了很多遍了,都没有成功过,也不知是哪一步出错了,因为我手头上没有这方面的资
料,公司又没一个人会的,我旁边真的没有人问呀!

我就知道new---Data Modules---customer data
在这里使用的是copy、inhert、use哪一个,从这里开始我就不知道了,后面都是蒙的,
所以没有成功!

所以想请大家帮我一下,能不能一步一步的告诉我,该怎么做呢,可以的话,最好能给个
最简单的代码给我看看,多谢大家了!



还有一点,是不是也可以把公共变量都放在这里呢,顺便也告诉我一下吧,多谢了!
 
把连接数据库的控件放到“Data Modules”中,不用写代码,
直接把控件拖到里面就行了,就像其它普通窗体一样,然后设置这些控件的属性,
如ADOConnection.connectionString等等,在属性框里设置就行了,
如果在运行时改变也可以写代码,如:
ADOConnection1.connectionString := 'provider = ..........';
 
那然后,再其中的窗体中,如何调用他们呢,举个例子就是我的另外一个窗体有一个DbGrid
的控件,我要怎么把表里的数据显示出来呢?
 
添加数据窗口,然后放上ADOConnection,
然后打开其它窗口,是Delphi的File菜单下有一个use unit,
把数据窗口引用进来就可以使用ADOConnection了。
 
Unit单元常用的有Interface和Implementation两个段,
一般在Implementation段中加入
Uses 你要引用的单元列表
公用的Data Access控件等都放在DataMoudle中,公用的函数放在一个单元中。
任何要用的得到地方,只要引用一下就可以了,修改起来也比较方便。
 
你添加错了DataModule,在点击菜单file-new之后,弹出的对话框有多个页面,要在new
页面中选Data Module,而不是在Data Modules页面中选。其余的按楼上各位所说的办就行了。
至于公共变量,最好不要放在Datamodule中,而应用一个无窗体的单元文件来放置,
同样是在new页面中,选择新建一个unit,在该unit的interface、uses(不一定有)之后
的地方定义公共变量,这样在调用公共变量的单元里就只要use一下该单元,就可以直接使
用该变量,而不必在变量名前再加窗体名了。该unit例子如下:
unit PublicUnit;

interface

uses Windows, Messages, SysUtils, Registry, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls,ADODb,DB, StdCtrls, Grids, Aligrid,CheckLst,Buttons, ExtCtrls,Winprocs;

var G_AppDirect,G_DcUser:string; //应用程序目录全局变量,当前用户
G_String:string; //通用字符变量.
G_Integer:integer; //通用数值变量.
G_Bool:boolean; //通用逻辑变量.
G_float:real; //通用浮点变量
 
同意,多试几下就知道了,很简单的
 
我在DbGrid中的DataSource中找不到DataSource1,我的DataSource1和ADODataSet1
和ADOConnection1,这是怎么一回事呢,越来越急了!
 
最好是买本书看看,照着上面做,否则,你做一下,等别人回答,
再做一下,等回答,简直是浪费时间。
 
我试了N次都没有找到这个问题的答案呀!

我知道这很浪费时间,可是我到书店看了一下,好象讲到这方面的都很少呀!~
 
我可以给你一本书
要源程序也行
其时很简单,你在Data Modules中ADOConnection1的ConnectionString设置连接
Adoquery1的connection设为ADOConnection1,DataSource1的DataSet设为Adoquery1
再在你在应用的窗口中加入Data Modules的单元名,如是UDM,则 uses UDM
DBGrid1.datasource:=frm_UDM.Datasource1
就可以了
 
黑影,你就给我一本书和一些源程序吧,多谢你了!
 
再问一个问题,就送分了,多谢大家了!

new---Data Modules---customer data和new---Data Module有什么分别呢,就是
HunterTeam说的,因为我确实是添加错了,但是现在也不知这两个有些什么分别!
 
你需要的是一个TDataModule,而你最初的方式添加的是一个TCustomerData,
TCustomerData是继承了TDataModule的一个类。
对于你的目标,两个类都可以实现,只是TCustomerData中封装了许多固有的东东,
看起来不是很清爽。使用方式都是一样的。
 
可以去买一本DELPHI数据库编来看看,很有用的,而且可以节省学其它东西的时间.
 
问题基本解决了,多谢大家了!
 
后退
顶部