线程,数据库的问题 请教一下如何用线程从一个表中取出插入到另一张表中的时候,做事务处理,也就是说如果取出的数据全部插入另一张表了,那就插入成功,否则就事务回滚....数据库线程 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 除非是自动提交,否则本来就是按事务处理的啊,只需要在全部插入另一张表后执行commit就行了啊,如果没有全部插入就执行rollback 插入的时候,加exception,如果出现异常就回滚rollback无论在plsql里,还是java等其他语言代码里,都一样的,捕获异常,提交或者回滚。有什么问题? 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 中添加一条记录tomcatmyOracleCommand.CommandText = "INSERT INTO userinfo values('tomcat')";myOracleCommand.ExecuteNonQuery();// 5.向表 userinfo 中添加第二条记录eclipsemyOracleCommand.CommandText = "INSERT INTO userinfo values('eclipse')";myOracleCommand.ExecuteNonQuery();// 6.事务回滚操作myOracleTransaction.Rollback();// 7.向表 userinfo 中添加第三条记录javamyOracleCommand.CommandText = "INSERT INTO userinfo values('java')";myOracleCommand.ExecuteNonQuery();// 操作完成后使用 Close() 方法关闭 OracleConnection 对象myOracleConnection.Close();//为了省事,统一捕获异常信息(实际项目开发中不推荐!)}catch(Exception e){//打印异常信息到控制台System.Console.Write(e.Message);}}} oracle10G 数据库无法启动 oracle连接远程数据库的问题 JDBC中,获取oracle表中的主键问题 解析字串(用oracle函数的方式) oracle自动建主键的问题 oracle 81存储过程里面如何按照规定的年份进行查询啊?给分的! 求一条sql语句 新手问题,如何获得一个用户数据库的所有表名? 怎样屏蔽查询DB_LINKS 初学数据库,数据库语言的简单问题 改变时间格式 oracle查询日期的问题
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);
}
}
}