【发布时间】:2012-03-29 11:43:33
【问题描述】:
我使用一种方法来使用 Select statiments 获取数据。当我使用链接数据库使用 select statiment 时出现错误(ORA-01453 SET TRANSATION 必须是第一个事务语句。)
我知道 solition,但我不能将事务方法与 Oracledataadapter 一起使用。
我想使用 Commit() ... Rollback()。
这是我的代码:
private System.Data.DataTable GetDataTable_(string SqlStatement, bool fromProcCall)
{
OracleConnection Con = new OracleConnection();
try
{
Con = Connection();
OpenConnection(Con, fromProcCall);
//-----------------------------------------
DateTime startTime = DateTime.Now;
//-----------------------------------------
DataSet ds = new DataSet();
OracleDataAdapter sda = new OracleDataAdapter(SqlStatement, Con);
sda.Fill(ds, "tbl1");
//-----------------------------------------
if (!fromProcCall)
DurationOfIfsAction = DateTime.Now.Subtract(startTime).Milliseconds;
else
DurationOfFirstIfsAction = DateTime.Now.Subtract(startTime).Milliseconds;
//-----------------------------------------
CloseConnection(Con);
return ds.Tables[0];
}
catch (Exception ex)
{
if (Con != null)
{
try
{
CloseConnection(Con);
}
catch (Exception) { }
}
throw new Exception("ERROR[" + ex.Message + "]");
}
}
【问题讨论】:
标签: c# oracle transactions