D delphihard Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #1 我在做crm,系统有10个模块,一共建立了32个table,现在我怎样规划模块好呢? 我想把每个模块都做一个dll,封装数据库操做合理吗?还是建立几个大的dataform,好一些?
A AIHUA Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #4 我觉得可以 随用随载入DLL,内存占用少。 其它的看看大家有什么见解吧
披 披星戴月 Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #5 大致是些什么样的模块, 考虑一下模块使用table的频率怎么样?数据流量怎么样?
H HunterTeam Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #8 统一把这32个table放在一个DataModule里面就可以了。 要想节省内存,最好是表一打开用完就把它关闭,这样的话,这些表还可以共用一个table 控件,就不需要建到32个表了。这方面用query或是AdoDataset更好,因为可以用SQL语句 方便灵活地从数据库中取数据,并且新增更改时也可以直接使用SQL语句更改。
统一把这32个table放在一个DataModule里面就可以了。 要想节省内存,最好是表一打开用完就把它关闭,这样的话,这些表还可以共用一个table 控件,就不需要建到32个表了。这方面用query或是AdoDataset更好,因为可以用SQL语句 方便灵活地从数据库中取数据,并且新增更改时也可以直接使用SQL语句更改。
T twos Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #9 32张表,不一定需要32个TTable控件,可能使用一两个TTable/TQuery就可以了(放在DataMoudle中)。 模块不要用Dll吧?使用窗体做呗。 操作数据库,最好使用TQuery 如果数据量大,不要使用本地数据库 如果想免费,可以使用Mysql
32张表,不一定需要32个TTable控件,可能使用一两个TTable/TQuery就可以了(放在DataMoudle中)。 模块不要用Dll吧?使用窗体做呗。 操作数据库,最好使用TQuery 如果数据量大,不要使用本地数据库 如果想免费,可以使用Mysql
B bigroute Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #10 封装 DLL也行,动态加载,方便升级。不过开发起来就麻烦了。
披 披星戴月 Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #11 具体情况具体分析! 如果流量与数据表数据都较小,直接使用datamodul很方便的,不过要动态的管理表! 使用dll,有时很麻烦,如果大的数据库,考虑到浏览速度等问题,当然也要使用!
W wellknow Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #12 首先,要规划好你的表结构; 然后,要确定好你的模块 接着,分出哪些是对话框,哪些是主明细,哪些是报表 然后,建立这样的三个基本模块:TdlgBasic, TfrmBasic, TRptBasic,并写好所有的公共事件和方法 接着,你的所有模块对号入座般地在上述三个基本模块上继承下来 然后,通用的方法和函数定义于Pub.pas中,涉及数据操作的放到PubDB.pas中 这样,不论你的系统大小,要不要做DLL,以后怎么办,都行了. 最后,提醒你,表取名,一定要有规律,如采购方面的单据有: StockOrder, StockOrderD(采购订单及明细, 下同) StockReceive, StockReceivD 视图如此, 存储过程如此, 触发器如此, UDF如此. 如果,你还有什么不明,可以通过我的QQ联系,也可以访问我的网站上提问.
首先,要规划好你的表结构; 然后,要确定好你的模块 接着,分出哪些是对话框,哪些是主明细,哪些是报表 然后,建立这样的三个基本模块:TdlgBasic, TfrmBasic, TRptBasic,并写好所有的公共事件和方法 接着,你的所有模块对号入座般地在上述三个基本模块上继承下来 然后,通用的方法和函数定义于Pub.pas中,涉及数据操作的放到PubDB.pas中 这样,不论你的系统大小,要不要做DLL,以后怎么办,都行了. 最后,提醒你,表取名,一定要有规律,如采购方面的单据有: StockOrder, StockOrderD(采购订单及明细, 下同) StockReceive, StockReceivD 视图如此, 存储过程如此, 触发器如此, UDF如此. 如果,你还有什么不明,可以通过我的QQ联系,也可以访问我的网站上提问.
C Crane Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #13 以基础功能划分模块(如数据库连接,各种统计,换算),业务上的模块划分要慎重, 做成dll就更得慎重,因为如果两个业务模块有耦合性,而却人为地把他们分在两个 dll中,其结果就是推倒重做。
D delphihard Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #16 每个表的数量有都很大,具体模块有销售,客服,市场,综合分析,任务等。 我想如果把32个表做成一个数据模块是不是太大了? 所以我想用dll,每个模块建立一个数据模块又觉得不好
C Crane Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #17 如果嫌大用VC好了。 你不要一上来就放32个控件,许多对表的查询增加都可以用sql语句来完成 另外,一个鲜为人知的事情,就是主从表结构,delphi只支持一个主表最多 带15个从表,多了,控件关系就家不上去了,你只有问道支持,他才会告诉你 这个限制,而且得直接问美国的支持,中国的会说没那事。 如果非得分块的话,可以把块分的再细,然后做成com服务,com之间互相 调用来实现总体的业务逻辑。
如果嫌大用VC好了。 你不要一上来就放32个控件,许多对表的查询增加都可以用sql语句来完成 另外,一个鲜为人知的事情,就是主从表结构,delphi只支持一个主表最多 带15个从表,多了,控件关系就家不上去了,你只有问道支持,他才会告诉你 这个限制,而且得直接问美国的支持,中国的会说没那事。 如果非得分块的话,可以把块分的再细,然后做成com服务,com之间互相 调用来实现总体的业务逻辑。
J jsxjd Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #18 为什么要每个模块做一个DLL,做一个不也可以嘛。如果封装得好,可以定义接口, 方便以后升级。
L liujunzhang Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #19 我认为做成动态库好,动态调用吗?不过也一个作成一个dpk,很少有人用它, 至于数据模块嘛!我看可以只放那么一二个就可以了,不要太多了,太多了就 没有必要用数据模块了,你说是吗?
S samcrm Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #20 我编的一个信息管理系统有15个Table,只用了一个DataMoudle就搞定。(ADO+Access)