luckysusan(海闊天空) :你的意思是要我在执行a.Save2DB的时候不关闭连接,在执行完b.Save2DB再关闭,是这样吗?
但是这样我觉得有很大的安全隐患,而且也破坏了模块的独立性
但是这样我觉得有很大的安全隐患,而且也破坏了模块的独立性
解决方案 »
- 求输出以下数据。
- 超外国链接跳转取值
- Html table的 tr用javascript如何逐级展开显示 ?
- 在后台可以知道listview控件里的记录数吗
- 如何在datagrid里动态加入textbox&drowdownlist等web控件?Thanks!
- DataGrid控件中用自动分页点击下一页问什么没反应?
- 在VS2005中,XML注释里面在check in 到vss以后会,然后再次打开会自动多一行空行?
- asp.net 主窗体打开child窗体
- 如何将xml绑定给一个Repeater
- 在.Net中怎样限制页面大小(800x600)
- 如何跳出框架!(思归帮忙呀!)
- 如何实现下载时不弹出“Save”框,而是下载到默认的位置,同时文件名也不变?
共用一个连接。
开始事务
a.Save2DB
b.Save2DB
结束事务
in class A:
adp.SelectedCommand=new SqlCommand("getdata1",new SqlConnection(CONNECTSTRING));
...
in class B:
adp.SelectedCommand=new SqlCommand("getdata2",new SqlConnection(CONNECTSTRING));
...
经过实例化以后两者不会产生相互影响
你的方法是
Dim conn As SqlConnection
Dim Transaction As SqlTransaction
conn = New SqlConnection(Common.GetConnectionString)
Transaction = conn.BeginTransaction Dim a As A = New A(conn)
Dim b As B = New B(conn)
Try
a.Save2DB()
b.Save2DB()
Transaction.Commit()
Catch
Transaction.Rollback()
Finally
conn.Close()
conn.Dispose()
End Try这样可以吗?
你的方法里A和B都是New出来的,这样岂不是等于两个连接,如果是两个连接的话,怎么用事物处理呢?
我理解你的方法对吗?