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;
}
{
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;
}
调用GetTrans()时,就被try...catch...关闭我的数据库连接不让我更新,
问题是有时候可以更新有时候不行,我在页面代码中当执行成功用Commit(),有错误用RollBack(),
谢谢您的回答,你能解释更清楚点吗?帮我分析一下谢谢!
我现在再把刚刚调试发现的问题,
来补充下上面的问题:
我可以查询但有时候更新会出错,也就是这句出错:OracleCommand OracleCommandSelect = new OracleCommand(stringSQLSelect, OracleConnectionInsert, OracleTransactionInsert);
我刚刚启动写了用户登入日志外,其它的什么更新都没有做,就执行这句也会出错。有时候又没有问题,这个问题是最近一个星期才会的,以前都不会,您们说有可能是数据库自身的问题吗?还是这代码有问题?