向大家请教这么个问题:
1. 我在开发一个三层应用时,碰到这样一个关于事务的问题:
假设数据对象db_tbs和db_tbj分别来对表tbs和tbj进行操作,我现在建一个组件makeplan完成把
tbs中的记录转移到tbj中,当然这在一个事务中完成。应该先调用db_tbs的del方法进行删除然后调用db_tbj的add方法进行增加。请给出具体的vb编码。谢谢
2.com+的队列组件问题
请问com+实现队列组件时,其客户端怎样实现,这个时候不是已经和网络断开了吗,客户端没有登陆,怎么样和recorder建立连接啊??
1. 我在开发一个三层应用时,碰到这样一个关于事务的问题:
假设数据对象db_tbs和db_tbj分别来对表tbs和tbj进行操作,我现在建一个组件makeplan完成把
tbs中的记录转移到tbj中,当然这在一个事务中完成。应该先调用db_tbs的del方法进行删除然后调用db_tbj的add方法进行增加。请给出具体的vb编码。谢谢
2.com+的队列组件问题
请问com+实现队列组件时,其客户端怎样实现,这个时候不是已经和网络断开了吗,客户端没有登陆,怎么样和recorder建立连接啊??
解决方案 »
- 高手请教 显示“下一条”记录代码!哪错了?急……
- 怎樣判斷窗體是否打開或者關閉?還有怎麼在父窗體中同時間只能有一個窗體打開
- ~Up有分~有用过VB调用VC编写的DLL的请进!~可能比较简单~
- 句柄和进程ID的区别?
- 怎么让SQL的查询中的日期字段,按指定的日期格式返回记录?
- 如何备份数据库?(由于本人目前分数并不是很富裕所以只能给这些分了,请大家多多包涵)
- 谁有crystal report 8.0的安装密码?我试了好几个都不行!
- 我就要毕业了,谁可以帮一个就要离开学校的毕业生,也是一个数据库安全的小问题
- ?如何截取键盘刚刚输入的内容,但不是截取键值,而是输入的内容(包括中文内容)?
- 怎样在注册表里替换字符?
- Textbox 与MSHFlexGrid的问题
- vb如何从excel表中读取数据?
http://www.xc-soft.com/docs/3tieranddatabase.htm
2。
http://blog.csdn.net/online/archive/2004/07/07/36007.aspx
http://blog.csdn.net/online/archive/2004/07/07/36010.aspx
中的例子我看过,它没有考虑使用事务。而且也没有通过一个组件调用另一个组件。我只想看一下这个顺序应该怎样来做。
对于第二个问题,不知道我写明白没有。我现在有一个系统,b/s结构,中间层为com+,因为工作原因,经常要离线操作。比如来录入一个订单,所以我想可不可以用排队组件来实现。可能我学得不深入,有个问题就是我现在是离线状态,那我连系统都进不去,怎么来调用recorder呢??盼望各位高手给指点迷津。谢谢谢谢!!!!!!!!
http://www.xc-soft.com/docs/3tieranddatabase.htm
已这个为例子吧,里面有详细的事务
http://www.ddvip.net/web/asp/index/83.htm该DLL含有两个类:一个类能给调用者提供检索可用产品列表的能力,另一个类提交订单。检索产品列表的类是非事务性的,而更新列表的类是事务性的,以确保同时改变两个表。
我们可以把这两个类分开编译然后在一个dll中引用另外一个dll即可方法:set obj=createobject("工程名.类名") //后期帮定
http://www.microsoft.com/china/MSDN/library/archives/library/techart/COMplus.asp
我的例子中已经说明了上面是c/s的,至于b/s中,我现在是离线状态,那我连系统都进不去
这个本地还要有b/s的程序,将数据发送到消息队列,等连结后,再发送到服务端至于离线record。,可以参考
示例如下Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Command1_Click()
rs.CursorLocation = adUseClient
rs.Open "Select * from students", cn, adOpenStatic, adLockBatchOptimistic
MsgBox rs.RecordCount
'保存为XML
rs.Save "c:\bbb.xml", adPersistXML
rs.Close
'读取XML文件
rs.Open "c:\bbb.xml", cn, adOpenStatic, adLockReadOnly, adCmdFile
MsgBox rs.RecordCount
rs.Close
End SubPrivate Sub Form_Load()
If cn.State = 1 Then
cn.Close
End If
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\db1.mdb"
End Sub
我现在有两个组件makeplan.dll和组件tz.dll(数据对象)
我现在要用makeplan.dll这个组件完成一定的功能,但应首先调用组件tz.dll的dele方法,删除tb_tz表中的数据。请给出vb代码
在makeplan.dll中
public sub del()
...
事务...
dim obj
set obj=createobject("p.tz")
obj.dele()
....
释放对象
end sub
有这样一个情景:要制定一个计划,但现在有两个计划表:
上月计划tb_last;本月计划表:tb_plan.为了封装数据访问,针对这两个表设计了两个数据对象db_last、db_plan来完成对表的操作,这两个数据对象均有add和del方法。利用组件makeplan.dll完成计划的制定。那么首先要把上月计划表中的数据全部删除,并把本月计划表中的数据转入上月表中,也就是把tb_last中的数据删除,并把tb_plan中的数据转入tb_last;最后把新的计划add到tb_plan中。因为要用到事务,我把db_last、db_plan设为支持事务,makeplan.dll为需要事务。