C# ';行/列不存在任何数据;Oledb异常

C# ';行/列不存在任何数据;Oledb异常,c#,sql,ms-access,oledb,C#,Sql,Ms Access,Oledb,有人能帮忙吗?我得到的是“行/列不存在数据”。抛出此错误,您没有调用Read方法 connection.Open(); OleDbCommand command = new OleDbCommand("SELECT [Names] FROM Test", connection); OleDbDataReader reader = command.ExecuteReader(); string result = reader.GetValue(0).ToString(); Me

有人能帮忙吗?我得到的是“行/列不存在数据”。抛出此错误,您没有调用Read方法

connection.Open();
OleDbCommand command = new OleDbCommand("SELECT [Names] FROM Test", 
connection);

OleDbDataReader reader = command.ExecuteReader();
string result = reader.GetValue(0).ToString();
        MessageBox.Show(result);
        connection.Close();
这将只是从结果中读取第一行。如果您想要所有的行,那么您需要这样写

    OleDbDataReader reader = command.ExecuteReader();
    if(reader.Read())
    {
       string result = reader.GetValue(0).ToString();
       MessageBox.Show(result);
     }
    connection.Close();
OleDbDataReader=command.ExecuteReader();
列表数据=新列表();
while(reader.Read())
{
data.Add(reader.GetValue(0.ToString());
}        
connection.Close();

您没有调用读取方法

connection.Open();
OleDbCommand command = new OleDbCommand("SELECT [Names] FROM Test", 
connection);

OleDbDataReader reader = command.ExecuteReader();
string result = reader.GetValue(0).ToString();
        MessageBox.Show(result);
        connection.Close();
这将只是从结果中读取第一行。如果您想要所有的行,那么您需要这样写

    OleDbDataReader reader = command.ExecuteReader();
    if(reader.Read())
    {
       string result = reader.GetValue(0).ToString();
       MessageBox.Show(result);
     }
    connection.Close();
OleDbDataReader=command.ExecuteReader();
列表数据=新列表();
while(reader.Read())
{
data.Add(reader.GetValue(0.ToString());
}        
connection.Close();

当不存在数据或无法读取
读取器时会发生这种情况。在尝试从数据读取器中提取数据之前,请先读取
。读取并获取在不存在数据或无法读取
读取器时发生的错误。在尝试从数据读取器中提取数据之前,请先读取
。阅读并记录下如果事实上没有返回任何数据会发生什么?我知道,但你是在为显然没有返回的人发帖。和
如果(reader.Read()){}
也能正常工作如果没有返回任何数据会发生什么?我知道,但你是为那些显然没有返回数据的人发帖的。和
if(reader.Read()){}
将与hasRows一样工作