Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何避免此代码出现“超出打开光标限制”错误?_C#_Sql_Oracle_Ado.net_Plsql - Fatal编程技术网

C# 如何避免此代码出现“超出打开光标限制”错误?

C# 如何避免此代码出现“超出打开光标限制”错误?,c#,sql,oracle,ado.net,plsql,C#,Sql,Oracle,Ado.net,Plsql,这个循环运行了3000多次 在一个查询中获取所有行,并循环代码中的结果集,而不是打开游标并终止数据库。在一个查询中获取所有行,并循环代码中的结果集,而不是打开游标并终止数据库。我想使用查询结果进一步获取。@laksh-请发布填写完整的代码并准确解释您试图执行的操作编辑您的问题并向其添加详细信息。我想使用查询结果进一步获取。@laksh-请发布完整的代码并准确解释您试图执行的操作编辑您的问题并向其添加详细信息。请向我们展示真实的代码。您是否每次都在循环中创建一个新语句而不关闭它?无论ExecSQL

这个循环运行了3000多次

在一个查询中获取所有行,并循环代码中的结果集,而不是打开游标并终止数据库。

在一个查询中获取所有行,并循环代码中的结果集,而不是打开游标并终止数据库。

我想使用查询结果进一步获取。@laksh-请发布填写完整的代码并准确解释您试图执行的操作编辑您的问题并向其添加详细信息。我想使用查询结果进一步获取。@laksh-请发布完整的代码并准确解释您试图执行的操作编辑您的问题并向其添加详细信息。请向我们展示真实的代码。您是否每次都在循环中创建一个新语句而不关闭它?无论ExecSQLAndGetFirstInt在做什么,它都应该关闭用于检索数据的读取器。@一个名为“否”的“马”会关闭读取器。关闭读取器是否意味着光标已关闭?您的代码已打开,请向我们展示真正的代码。您是否每次都在循环中创建一个新语句而不关闭它?无论ExecSQLAndGetFirstInt在做什么,它都应该关闭用于检索数据的读取器。@a_horse_,带有_no_名称-是,它关闭读取器。关闭读取器是否意味着光标已关闭?您的代码可以打开
foreach (string num in ld2.Keys)
{
  double state;
  int i;

  for (i = 0; i < states.Count; i++)
  {
    cmd = mdb.getCommand("select value V " +
                         "  from TAB_CHART_DATA " + 
                         " where TIMESTAMP = (select max(TIMESTAMP) " +
                         "                      from TAB_CHART_DATA " + 
                         "                     where chart_type= " + chart_type + 
                         "                       and upper(upper(state)) = '" + states[i] + "' " +
                         "                       and CSIS_ID = " + CSISPID + 
                         "                       and baselinecode like '" + num + "'" +
                         "                   ) " +
                         "   and chart_type = " + chart_type + 
                         "   and upper(state) = '" + states[i] + "' " +
                         "   and CSIS_ID = " + CSISPID + 
                         "   and baselinecode like '" + num + "'"
                        );

    state = mdb.ExecSQLAndGetFirstInt(cmd);
  }

}