Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.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# 如何阻止oracledatareader读取_C#_Oracle_C# 4.0_Datareader - Fatal编程技术网

C# 如何阻止oracledatareader读取

C# 如何阻止oracledatareader读取,c#,oracle,c#-4.0,datareader,C#,Oracle,C# 4.0,Datareader,我已经创建了一个从Oracle DB读取数据的软件,通过SMS发送数据,但我想在我按键盘上的C键时阻止datareader读取数据,但当我这样做时,我收到以下异常消息: Operation is not valid due to the current state of the object 堆栈跟踪: at Oracle.DataAccess.Client.OracleDataReader.Read() at Test_SMS_AT_Command.Program.OnTimer(Ob

我已经创建了一个从Oracle DB读取数据的软件,通过SMS发送数据,但我想在我按键盘上的C键时阻止datareader读取数据,但当我这样做时,我收到以下异常消息:

Operation is not valid due to the current state of the object
堆栈跟踪:

at Oracle.DataAccess.Client.OracleDataReader.Read()
   at Test_SMS_AT_Command.Program.OnTimer(Object obj, EventArgs args)
这是我的代码:

   oraCommand.ExecuteNonQuery();

                OracleDataAdapter oraDataAdapter = new OracleDataAdapter(oraCommand);
                Oracle.DataAccess.Types.OracleRefCursor refCursor = (Oracle.DataAccess.Types.OracleRefCursor)oraParameter.Value;
                OracleDataReader reader = refCursor.GetDataReader();
                while (reader.Read())
                {
                    if (cki.Key == ConsoleKey.C)
                    {
                        cancel();                     

                        if (reader != null)
                        {
                            reader.Close(); //Closed
                        }

                        break;

                    }

                    if (sms.sendSms(reader["MOBILE_NO"].ToString(), reader["TEXT"].ToString()))
                    {
                        Console.WriteLine("Message successfully sent to " + reader["MOBILE_NO"].ToString() + ": " + DateTime.Now);
                        setStatus(Convert.ToInt32(reader["GORANNET_SMS_ID"]));
                        writeToFile(reader["TEXT"] + " sent to " + reader["MOBILE_NO"] + " at: " + DateTime.Now);
                    }
                    else
                    {
                        Console.WriteLine("Message was not sent");
                    }
                    System.Threading.Thread.Sleep(15000);
                }

谢谢

呼叫阅读器。关闭();while语句之后…

不,我没有错过任何东西,读卡器工作正常,但当我按键盘上的C键时,我想阻止读卡器继续阅读