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
以及为什么读者需要[]
括号中的参数?
答案 0 :(得分:2)
您可能没有名为MYFIELD的字段。请记住,字段名称区分大小写...请尝试使用索引,即reader [0]