17,082
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Data.OracleClient;
// 事务回滚操作实例 [Oracle数据库表--CREATE TABLE userinfo(username varchar(20));]
public class Transcation
{
public static void Main()
{
try
{
// 1.创建一个 OracleConnection 对象连接到 Oracle 数据库,然后打开该连接
OracleConnection myOracleConnection
= new OracleConnection("User Id=scott;Password=tiger;Data Source=webapp");
myOracleConnection.Open();
// 2.创建一个OracleTransaction对象
// 调用OracleConnection对象的BeginTransaction()方法启动事务
OracleTransaction myOracleTransaction = myOracleConnection.BeginTransaction();
// 3.创建一个 OracleCommand 对象,用于存储 SQL 语句
OracleCommand myOracleCommand = myOracleConnection.CreateCommand();
// Transaction 属性初始化
myOracleCommand.Transaction = myOracleTransaction;
// 4.向表 userinfo 中添加一条记录tomcat
myOracleCommand.CommandText = "INSERT INTO userinfo values('tomcat')";
myOracleCommand.ExecuteNonQuery();
// 5.向表 userinfo 中添加第二条记录eclipse
myOracleCommand.CommandText = "INSERT INTO userinfo values('eclipse')";
myOracleCommand.ExecuteNonQuery();
// 6.事务回滚操作
myOracleTransaction.Rollback();
// 7.向表 userinfo 中添加第三条记录java
myOracleCommand.CommandText = "INSERT INTO userinfo values('java')";
myOracleCommand.ExecuteNonQuery();
// 操作完成后使用 Close() 方法关闭 OracleConnection 对象
myOracleConnection.Close();
//为了省事,统一捕获异常信息(实际项目开发中不推荐!)
}catch(Exception e){
//打印异常信息到控制台
System.Console.Write(e.Message);
}
}
}