第一次开发三层结构应用软件,请教一些问题(200分)

  • 主题发起人 主题发起人 游少爷
  • 开始时间 开始时间

游少爷

Unregistered / Unconfirmed
GUEST, unregistred user!
本少爷每一次开发三层结构的应用软件,中间层采用COM+,虽然看了书,但书上例子太
小,仍有一些疑问,特向大爷们请教。
在二层结构中的新增、修改、删除数据都是在客户端使用数据集控件的Append、
Edit、Delete方法或用SQL语句,但在三层中,书上说客户端只是用来显示,对数据的
操作应该放到中间层,那要新增、修改、删除数据应该怎么办,如果调用TClientDataSet
的Append、Edit、Delete或利用其CommandText属性,那是不是又将数据的操作放在客
户端了,如果只利用TClientDataSet来显示数据,那新增、删除、修改该如何做?

如果哪位大爷有比较好的例子,请发到我的油箱,谢谢。
ywbtaxi@yeah.net
 
你可将设好参数的TQUERY,TDATASET等组件放在中间层,
客户端只要将参数传递上去就可以了。
 
谢谢iapollo.
 
还有其它好方法吗,请大家说说你们是怎么做的。
 
我也有这样的疑问!
TO:iapollo,这样忌不是放弃了TCLIENTDATASET的自动事务功能?
 
>>如果调用TClientDataSet的Append、Edit、Delete或利用其CommandText属性,那是不
>>是又将数据的操作放在客户端了,如果只利用TClientDataSet来显示数据,那新增、
>>删除、修改该如何做?
时间长了没看李维那本书了,我记得当你调用TCLIENTDATASET的COMMANDTEXT属性时,
其实执行语句是在服务器端。你可以试着执行一个本地没有的查询,插入或删除看看。
要是在本地执行的话,这些是没有结果的。李维那本书的后面有关服务器端的运行有
很详细地介绍,你可以看看。
 
强烈推荐用ASTA!!那是专为懒汉设计的开发三层数据库的控件!功能强大!
自带很多例程!方便极了!
 
快扔到李唯那些书吧,有了ASTA,一切都能搞定!
 
to zhem8:
我们干脆别做程序员了,什么都等别人做好了,咱们再搭积木吧!
我终于明白为什么人家现在开始叫程序员为蓝领了。
 
to iapollo:
我说的也许夸张了点,但是ASTA的确非常方便,而且功能强大!用过的人没人说它不好!
如果你用过,你会发现三层结构有了全新的认识!
 
少爷,我也说两句:
做三层结构的时候,用TCLIENTDATASET的的Append、Edit、Delete这些方法,
只是存在临时表里了,它有一个属性deldata的,就是临时更新表,当你每次对一某条数据更改过后,
它都会老老实实的写进这个里面,
DELDATA里的数据是你已经更改过的TCLIENTDATASET中数据与你刚显示的时候数据之间的差别数据记录
用applyupdate(n)才真正更新到后端数据库里,如果更新成功后,DELDATA就会清空,如出错,出错的记录照样会放于DELDATA里
它是把DELDATA中的更改数据内容更新到后端数据库中
在更新的前后,你可以通过TCLIENTDATASET和TPROVIDER的一些BEFOR,AFTER事件对更新数据进行一些必要的处理
比如加密之类,数据库的数据记录的定位之类的,
N为0表示不允许出任何错
-1时表示出错继续下一条
1表示只允许出错一次
分布式的东东,多看看DFW上资料,我也是刚学了不多久,自己是慢理理会哟,呵呵,显丑了


 
不要把李维的书说得那么好的,我个人觉得不怎么样,
他写的好像是D4的
现在都是D6了,
书店有D6的分布式开发的书
 
你可以不通过ClientDataSet来更新数据,直接在服务端写Insert、Modify、Delete方法,
在客户端通过AppServer调用,这样可以很方便控制事务。
 
同意楼上!
 
softdog:如果在服务端写Insert等方法,那客户端要看到新增的数据不是又要从服务端下
载数据了吗?如果使用ClientDataSet的Append,再ApplyUpdate,那就不用了。
 
小伙子!什么时候开始开发三层结构了!
来广州了没有?
 
我在上海
 
我有,以发部分
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部