读书人

asp.net(c#) oracle数据库 共享锁有关

发布时间: 2012-03-01 10:25:47 作者: rapoo

求助:asp.net(c#) oracle数据库 共享锁问题,我想的快疯了。OracleConnectionTrans.BeginTransaction(IsolationLevel.ReadCommitted)
private void ImagebuttonOK_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
string stringSQL, stringTmp,stringLimitYear;
OracleConnection OracleConnectionInsert;
OracleTransaction OracleTransactionInsert;
OracleCommand OracleCommandInsert;
// 设置数据连接
//Oracle_Conn1是我定义的类。类中有GetConnection()和GetTrans()函数,下面我会写出来。
OracleConnectionInsert = Oracle_Conn1.GetConnection();
OracleTransactionInsert = Oracle_Conn1.GetTrans(OracleConnectionInsert);
//stringSQLSelect是数据查询语句,语句正确我不写了。
OracleCommand OracleCommandSelect = new OracleCommand(stringSQLSelect, OracleConnectionInsert, OracleTransactionInsert);
stringLimitYear = (string)OracleCommandSelect.ExecuteScalar();
......
}

//下面是Oracle_Conn1的两个函数:
public OracleConnection GetConnection()
{
OracleConnection OracleConnectionTrans;
//g_StringConnString是数据库连接字符串
OracleConnectionTrans = new OracleConnection(g_StringConnString);
OracleConnectionTrans.Open();
return OracleConnectionTrans;

}
public OracleTransaction GetTrans(OracleConnection OracleConnectionTrans)
{
try
{
OracleTransactionBase = OracleConnectionTrans.BeginTransaction(IsolationLevel.ReadCommitted);
////////这里就是出错的地方,有时会出错有时不会,
////////好象是执行了一类型的操作,马上执行另一类型的操作就会出错,
////////如果不做任何操作不动鼠标过段时间又不会错,
////////请高手指点,谢谢!
}
catch
{
OracleConnectionTrans.Close();
}
return OracleTransactionBase;
}

[解决办法]
有了 .BeginTransaction 却没有 Commit 或者 RollBack


读书人网 >VB Dotnet

热点推荐