时不时会出现The connection is closed. 这样的错误
这是跑sql时的代码
public static DataSet runSql(string sql)
{
OracleConnection conn = null;
try
{
logger.Debug("Running SQL: " + sql);
conn = (OracleConnection)DBUtils.getConnection();
DataSet ds = null;
if (sql.ToLower().StartsWith("select"))
{
conn.Open();
OracleCommand comm = new OracleCommand(sql);
comm.Connection = conn;
comm.CommandType = CommandType.Text;
OracleDataAdapter da = new OracleDataAdapter(comm);
ds = new DataSet();
da.Fill(ds); }
// insert /delete/update
else
{
conn.Open();
IDbCommand comm = new OracleCommand(sql);
comm.Connection = conn;
comm.ExecuteNonQuery(); }
return ds;
}
catch (Exception e)
{
string m = "Error in running SQL: " + sql + "\r\nError Message: \r\n" + e.Message;
logger.Error(m);
throw new WBISException(m);
}
finally
{
try
{
if (conn != null)
{
conn.Close();
}
}
catch (Exception e2)
{
string err = "Err When Closing Oracle!";
logger.Error(err);
throw new WBISException(err);
}
} }
在调用这个runsql函数时,时不时会catch到The connection is closed的错误。
到底是什么原因???查了几天都没有查出来。。
这是跑sql时的代码
public static DataSet runSql(string sql)
{
OracleConnection conn = null;
try
{
logger.Debug("Running SQL: " + sql);
conn = (OracleConnection)DBUtils.getConnection();
DataSet ds = null;
if (sql.ToLower().StartsWith("select"))
{
conn.Open();
OracleCommand comm = new OracleCommand(sql);
comm.Connection = conn;
comm.CommandType = CommandType.Text;
OracleDataAdapter da = new OracleDataAdapter(comm);
ds = new DataSet();
da.Fill(ds); }
// insert /delete/update
else
{
conn.Open();
IDbCommand comm = new OracleCommand(sql);
comm.Connection = conn;
comm.ExecuteNonQuery(); }
return ds;
}
catch (Exception e)
{
string m = "Error in running SQL: " + sql + "\r\nError Message: \r\n" + e.Message;
logger.Error(m);
throw new WBISException(m);
}
finally
{
try
{
if (conn != null)
{
conn.Close();
}
}
catch (Exception e2)
{
string err = "Err When Closing Oracle!";
logger.Error(err);
throw new WBISException(err);
}
} }
在调用这个runsql函数时,时不时会catch到The connection is closed的错误。
到底是什么原因???查了几天都没有查出来。。
解决方案 »
- 根据控件Text属性在容器中查找控件 在线等~~~~~~~~~~~~~~~~
- 如何在页面跳转前,弹一个message,而message显示的值是从数据库里取的.
- 关于treeList的问题,高手请进。
- RichTextBox如何实现只输入汉字?
- 如何在excel中导数据到datagrid时可以让用户选择需要的字段呢
- ASP.NET目录上传的问题
- 两个C# winform进程,怎么互相设定对方的文本框值?
- C++中有模板类,C#中有相应的东西吗?
- 我怎么在sql语句中,定义两列为主键啊!帮帮忙啊!
- C# 托管DLL如何调用托管宿主中的函数?
- C# VS平台两个程序的问题
- C#关于listbox问题!!急,在线等待!!!
{
OracleConnection conn = null;
try
{
logger.Debug("Running SQL: " + sql);
conn = (OracleConnection)DBUtils.getConnection();
DataSet ds = null;
using(conn)
{
if (sql.ToLower().StartsWith("select"))
{
conn.Open();
OracleCommand comm = new OracleCommand(sql);
comm.Connection = conn;
comm.CommandType = CommandType.Text;
OracleDataAdapter da = new OracleDataAdapter(comm);
ds = new DataSet();
da.Fill(ds); }
// insert /delete/update
else
{
conn.Open();
IDbCommand comm = new OracleCommand(sql);
comm.Connection = conn;
comm.ExecuteNonQuery(); }
return ds;
}
}
catch (Exception e)
{
string m = "Error in running SQL: " + sql + "\r\nError Message: \r\n" + e.Message;
logger.Error(m);
throw new WBISException(m);
}
}