0

我被这件事难住了。

我正在使用非常简单的以下代码:

con.ConnectionString = @"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=myservice)));User Id=myuser;Password=mypassword";
            con.Open();
            OracleCommand command = con.CreateCommand();
            command.CommandText = "SELECT SRVID FROM mytable WHERE USED=0 AND ROWNUM = 1";
            OracleDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                readercheck = reader.GetString(0);
            }

无论出于何种原因,reader.GetString(0) 都不起作用,因为它试图访问的值是 System.Data.OracleClient.OracleCommand 类型的对象。

如果我使用 reader.ToString() 它实际返回“System.Data.OracleClient.OracleCommand”作为字符串!

帮助将不胜感激!

4

1 回答 1

0

我在寻找相同问题的解决方案时发现了这一点。GetString(0) 不起作用,因为你会得到一个非法的转换错误,可能是因为阅读器中的第一个元素是十进制,它不会直接转换为字符串。

  reader.item(1).tostring

或者

  reader.GetString(1)
于 2014-04-17T09:09:06.147 回答