阅读器关闭时尝试调用 FieldCount无效[解决方案]

来源:互联网 发布:淘宝上怎么挑选望远镜 编辑:程序博客网 时间:2024/05/12 11:09

错误:阅读器关闭时尝试调用 FieldCount无效。

情景:在用SqlDataReader sdr = cmd.ExecuteReader();返回查询结果时报错

原因:还没等返回SqlDataReader就关闭了数据库链接

    public SqlDataReader getDataReader(string sql)    {        try        {            SqlConnection con = getConnection();            con.Open();            string sqlString = sql;            SqlCommand cmd = new SqlCommand(sqlString, con);            SqlDataReader sdr = cmd.ExecuteReader();            con.Close();            return sdr;        }        finally        {        }    }


 

解决方案:将码

 

            SqlDataReader sdr = cmd.ExecuteReader();            con.Close();


改为:

            SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);


使其自动关闭

原创粉丝点击