Oracle临时表C#应用
2006-10-30 14:22
351 查看
//事先生成临时表 create global temporary table temp_20061030 (id int,name varchar2(256)) on commit delete rows;
OracleDBOperation dbo = null;//OracleDBOperation为对Oracle操作封装的自定义的类。各位可以用Oracle自带的操作类和方法。此处只是说明处理方法。
OracleTransaction trans = null;//关键第一步
try
{
dbo = new OracleDBOperation();//实例化并连接数据库
trans=dbo.Connection.BeginTransaction();//关键第二步
/*--正常利用临时表的业务处理开始--*/
string sql="insert into temp_20061030 (id,name) select t.id,t.name from table1 t where t.id<1000";
dbo.ExecuteStatement(sql);
sql="select max(id) id,count(*) cnt from temp_20061030";
DataTable dt = dbo.GetTable(sql);
if(dt.Rows.Count>0)
{
string id=dt.Rows[0]["id"].ToString();
string cnt=dt.Rows[0]["cnt"].ToString();
MessageBox.Show(id+"/"+cnt);
}
else{
throw new Exception("没有数据");
}
/*--正常利用临时表的业务处理结束--*/
trans.Commit();//关键第三步
}
catch(Exception ex)
{
/*--释放也很重要--*/
if(trans!=null){
trans.Rollback();
}
MessageBox.Show(ex.Message);
}
finally{
/*--释放也很重要--*/
if(trans!=null){
trans.Dispose();
trans=null;
}
if(dbo!=null){
dbo.Close();
dbo.Dispose();
dbo=null;
}
}
临时表在事务内有效时,事务Commit或Rollback都会清空临时表。
OracleDBOperation dbo = null;//OracleDBOperation为对Oracle操作封装的自定义的类。各位可以用Oracle自带的操作类和方法。此处只是说明处理方法。
OracleTransaction trans = null;//关键第一步
try
{
dbo = new OracleDBOperation();//实例化并连接数据库
trans=dbo.Connection.BeginTransaction();//关键第二步
/*--正常利用临时表的业务处理开始--*/
string sql="insert into temp_20061030 (id,name) select t.id,t.name from table1 t where t.id<1000";
dbo.ExecuteStatement(sql);
sql="select max(id) id,count(*) cnt from temp_20061030";
DataTable dt = dbo.GetTable(sql);
if(dt.Rows.Count>0)
{
string id=dt.Rows[0]["id"].ToString();
string cnt=dt.Rows[0]["cnt"].ToString();
MessageBox.Show(id+"/"+cnt);
}
else{
throw new Exception("没有数据");
}
/*--正常利用临时表的业务处理结束--*/
trans.Commit();//关键第三步
}
catch(Exception ex)
{
/*--释放也很重要--*/
if(trans!=null){
trans.Rollback();
}
MessageBox.Show(ex.Message);
}
finally{
/*--释放也很重要--*/
if(trans!=null){
trans.Dispose();
trans=null;
}
if(dbo!=null){
dbo.Close();
dbo.Dispose();
dbo=null;
}
}
临时表在事务内有效时,事务Commit或Rollback都会清空临时表。
相关文章推荐
- Oracle 临时表的应用
- C# + 微软企业库(Microsoft.Enterprise.Library),实现Oracle字段自增的应用
- Oracle 临时表之临时表的应用问题
- (转)C#中调用ORACLE的PACKAGE里方法和存储过程的应用
- oracle 临时表 应用场景
- C# 系统应用之清除Cookies、IE临时文件、历史记录
- Oracle数据库事务(OracleTransaction)在C#中的一些简单应用
- Oracle批量插入在C#中的应用
- C# 系统应用之清除Cookies、IE临时文件、历史记录 转载
- C#中调用ORACLE的PACKAGE里方法和存储过程的应用
- Oracle 远程访问配置 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标 C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素” C#[Win32&WinCE&WM]应用程序只能运行一个实例:MutexHelper Decimal类型截取保留N位小数向上取, Decimal类型截取保留N位小数并且不进行四舍五入操作
- oracle10g- oracle 一个特殊的应用 :复合数据 也叫记录 像一个js临时对象
- 在C#应用中如何读取存在ORACLE(或SQL Server)中的MapInfo表
- Oracle绑定变量在C#.NET中的应用及意义
- Oracle 临时表的应用
- Oracle 临时表的应用
- Oracle和SQLServer的“临时表”应用
- Oracle 临时表的应用
- Oracle 临时表的创建与应用
- Oracle 临时表之临时表的应用问题