未处理的“System.InvalidOperationException”类型的异常出现在 System.Data.dll 中。

解决方案 »

  1.   

    ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。private void btnFind_Click(object sender, EventArgs e)
            {
                picImage2.Image = null;            byte[] photo = null;
                string strSql = "select *from testImage where id=" + txtNo.Text.Trim();
                SqlCommand cmd = new SqlCommand(strSql, DBHelper.Con);            SqlDataReader sdr = cmd.ExecuteReader();
                if (sdr.Read())
                {
                    photo = (byte[])sdr[1];
                    txtMarks.Text = sdr[2].ToString();
                }
                else
                {
                    MessageBox.Show("没有指定记录!");
                }
                sdr.Close();            //把二进制数据组装入流
                if (photo != null)
                {
                    using (MemoryStream ms = new MemoryStream(photo))
                    {
                        
                        //从数据流组成图片                    try
                        {
                            picImage2.Image = Image.FromStream(ms);
                        }
                        catch
                        {                        MessageBox.Show("读取图片失败!");
                        }                    ms.Close();
                        ms.Dispose();
                    }            }
            }
      

  2.   

    SqlDataReader sdr = cmd.ExecuteReader();
    似乎是这里 
    这个是错误提示:
    ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。
     
      

  3.   

    SqlDataReader sdr = cmd.ExecuteReader();
    似乎是这里 
    这个是错误提示:
    ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。