vb.net怎么开启事务的简单介绍( 二 )


Supported如果事务存在,则共享该事务 。
一般来说COM+中的组件需要Required 或Supported 。当组件用于记录或查帐时RequiresNew 很有用,因为组件应该与活动中其他事务处理的提交或回滚隔离开来 。
派生类可以重载基类的任意属性 。如DataAccess选用Required,派生类仍然可以重载并指定RequiresNew或其他值 。
COM+事务有手动处理和自动处理 , 自动处理就是在所需要自动处理的方法前加上[AutoComplete],根据方法的正常或抛出异常决定提交或回滚 。
手动处理就是调用ContextUtil类中EnableCommit,SetComplete , SetAbort方法 。
public stringtestTransaction()
{
try
{
ContextUtil.EnableCommit();
InsertARecord1();
InsertARecord2();
ContextUtil.SetComplete();
return "succeed!";
}
catch(Exception ex)
{
ContextUtil.SetAbort();
return "failed!";
}
}
public void InsertARecord1()
{
string strconn="workstation id=WEIXIAOPING;packet size=4096;user id=sa;initial catalog=Northwind;persist security info=False";
SqlConnection conn=new SqlConnection(strconn);
conn.Open();
SqlCommand command=new SqlCommand("insert into tbTree(Context,ParentID) values('北京',1)",conn);
command.ExecuteNonQuery();
conn.Close();
}
public void InsertARecord2()
{
string strconn="workstation id=WEIXIAOPING;packet size=4096;user id=sa;initial catalog=Northwind;persist security info=False";
SqlConnection conn=new SqlConnection(strconn);
conn.Open();
SqlCommand command=new SqlCommand("insert into tbTree(Context,ParentID) values('上海',1)",conn);
command.ExecuteNonQuery();
conn.Close();
}
在需要事务跨 MSMQ 和其他可识别事务的资源(例如,SQL Server 数据库)运行的系统中 , 只能使用 DTC 或 COM+ 事务 , 除此之外没有其他选择 。DTC 协调参与分布式事务的所有资源管理器,也管理与事务相关的操作 。
这种做法的缺点是,由于存在 DTC 和 COM 互操作性开销,导致性能降低 。
COM+事务处理的类必须强命名 。
关于在VB.NET中怎么使用事务的问题,还有其在vb.net中要定义一个事务vb.net怎么开启事务,需要使用Begin tran命令vb.net怎么开启事务,在这一命令之后vb.net怎么开启事务的任何语句都将被认为是事务的一部分 。命令Commit用来完成VB.NET处理,并使事务对数据库所作的修改成为永久的 。Rollback命令用来取消一个事务,并还原事务对数据库所作的修改 。
VB.net中怎么调用控件的事件软糖来回答罗 。
“调用事件”有歧义 , 你的意思是不是下面两种:
调用事件处理方法
直接调用对象名.方法名
'例如有这样一个按钮点击事件处理程序
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
秒表.Start()
End Sub
'调用它直接用
Button1_Click(me, new EventArgs())
引发事件
Button1.Click.Invoke(me, new EventArgs())
另外 RaiseEvent 也可以引发事件 , 但不能使用 RaiseEvent 来引发派生窗体的控件事件,只有自己定义的类的事件才能用它引发 。
如满意,请采纳,谢谢 。
详谈如何在VB.NET使用ORACLR数据库事务麻烦告诉我Oracle.DataAccess.Client 命名空间是 ODP.NET 的一部分,它包含许多类,其中有OracleConnection、OracleCommand 和 OracleTransaction 。示例程序用到了这些类 。VB.NET使用ORACLR第 1 步创建一个 OracleConnection 对象连接到 Oracle 数据库,然后打开该连接 。
在C# 中:OracleConnection myOracleConnection =new OracleConnection( "User Id=store;Password=store;Data Source=ORCL" ); myOracleConnection.Open(); 在VB.NET 中:Dim myOracleConnection As New OracleConnection( _ "User Id=store;Password=store;Data Source=ORCL") myOracleConnection.Open() User Id 和 Password 属性指定了您所要连接到的模式的数据库用户和口令 。Data Source 属性指定了数据库的 Oracle Net 服务名称;初始数据库的默认服务名称为 ORCL 。如果您使用的不是初始数据库,或者您的服务名称不同,那么您需要在程序中修改 Data Source 属性的设置 。VB.NET使用ORACLR第 2 步创建一个 OracleTransaction 对象 , 然后调用 OracleConnection 对象的 BeginTransaction() 方法启动事务 。在C# 中:OracleTransaction myOracleTransaction = myOracleConnection.BeginTransaction(); In VB.NET: Dim myOracleTransaction As OracleTransaction = _ myOracleConnection.BeginTransaction() VB.NET使用ORACLR第3 步创建一个 OracleCommand 对象 , 用于存储 SQL 语句 。在C# 中:OracleCommand myOracleCommand = myOracleConnection.CreateCommand(); 在VB.NET 中:Dim myOracleCommand As OracleCommand = myOracleConnection.CreateCommand 因为OracleCommand 对象使用 OracleConnection 对象的 CreateCommand() 方法创建的 , 所以它自动使用在第 2 步中为 OracleConnection 对象设置的事务 。VB.NET使用ORACLR第 4 步将OracleCommand 对象的 CommandText 属性设为向表 product_types 中添加一行的第一条 INSERT 语句 。

推荐阅读