ExecuteReader出错

时间:2009-07-21 11:33:31

标签: ado.net

我收到以下错误消息:

System.InvalidOperationException:ExecuteReader需要一个开放且可用的连接。连接的当前状态为Closed。

这是我的代码:

public IDataReader ExecuteReader()
{
    IDataReader reader = null;

    try
    {
        this.Open();
        reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    }
    catch (Exception ex)
    {
        if (handleErrors)
            strLastError = ex.Message;
        else
            throw;
    }
    catch
    {
        throw;
    }

    return reader;
}

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

尚未打开SQLCommand附加到的Connection对象。您必须先打开连接才能进行查询。

这样的事情:

private static void OpenSqlConnection(string connectionString)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();

        var cmd = connection.CreateCommand();
        // Do your command access here.

    }
}