急求[InvalidOperationException: 无效操作。连接被关闭。

云碧霄 云碧霄 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
private OracleConnection con;//!与数据的链接
private OracleCommand cmd;//
private void OpenConnection()
{
con = new OracleConnection(connectionString);//一个OracleConnection代表与数据库的一个连接,被数据库连接池所管理
cmd = con.CreateCommand();//创建并返回一个与OraclConnection相关联的OracleCommand对象

try
{
con.Open();
}
catch (Exception ex)
{

Console.WriteLine(ex.Message);

}

}

private void CloseConnection()
{
if (con.State == ConnectionState.Open) //如果与数据库的连接仍然打开
{
con.Close();
}
}




public string[] QuerySinglePara(Sensor ss)//查询数据库
{
OpenConnection();
string[] result = new string[2];
string sql = "select value,savetime from(select * from w_data where deviceid=:sensor_serialnum order by savetime desc) where rownum=1";//获取展厅最新的门磁等状态
cmd.CommandText = sql;
cmd.Parameters.AddWithValue(":sensor_serialnum", ss.sensor_serialnum);
OracleDataReader oreader = cmd.ExecuteReader();//异常导致中断,出错的地方

oreader.Read();
try
{
result[0] = oreader.GetString(0);//获取的数据
result[1] = oreader.GetDateTime(1).ToString();
}
catch (Exception e) //说明没有记录
{

result[0] = e.Message;//若是出现异常就报错
}
finally
{
oreader.Close();//必须关闭,否则会报异常(游标数超过最大值 )
CloseConnection();
}
return result;
}
...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
云碧霄
C# 111,129 成员 642,539 内容