获取数据的例外 - 使用OracleDB的C#

时间:2013-03-28 13:25:31

标签: c# oracle11g

static public void ConnectAndQuery()
        {

            string connectionString = GetConnectionString();
            using (OracleConnection conn = new OracleConnection())
            {
                conn.ConnectionString = connectionString;
                conn.Open();
                Console.WriteLine("State: " + conn.State);
                Console.WriteLine("Connection String: " + conn.ConnectionString);

                OracleCommand command = conn.CreateCommand();
                string sql = "SELECT * FROM users";
                command.CommandText = sql;

                OracleDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    string myField = (string)reader["MYFIELD"];
                    Console.WriteLine(myField);
                }
            }

        }

建立连接并打开工作但尝试从数据库获取数据时得到IndexOutOfRangeException

上有例外
string myField = (string)reader["MYFIELD"];

我查找了有关OracleDataReader和命令的信息,以便了解读者,但是......它是否存储了以数组或任何其他顺序获取的数据?为什么我得到IndexOutOfRangeException以及为什么读者需要[]括号中的参数?

1 个答案:

答案 0 :(得分:2)

您可能没有名为MYFIELD的字段。请记住,字段名称区分大小写...请尝试使用索引,即reader [0]