使用c#从SQL server 2008数据库检索图像

本文关键字:数据库 检索 图像 2008 server SQL 使用 | 更新日期: 2023-09-27 18:15:41

嗨,我正试图从SQL server数据库检索图像使用此代码和异常生成此错误(参数无效)PLZ帮助我,我在表中使用图像类型而不是blob

  SqlCommand select = new SqlCommand(vsql, vCon);
        try
        {
            SqlDataAdapter dp = new SqlDataAdapter(select);
            DataSet ds = new DataSet("etudiant");
            byte[] MisDatos = new byte[0];
            dp.Fill(ds,"etudiant");
            DataRow myRow = ds.Tables["etudiant"].Rows[0];
            MisDatos = (byte[])myRow["image"];
            MemoryStream ms = new MemoryStream(MisDatos);
            System.Drawing.Image returnImage = System.Drawing.Image.FromStream(ms);
            ms.Position = 0;
            pictureBox1.Image = Image.FromStream(ms);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

使用c#从SQL server 2008数据库检索图像

下面是一段使用数据阅读器的网页代码:

    using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
    {
        conn.Open();
        using (SqlCommand cmd = new SqlCommand("SELECT photo,photomimetype,photofilename FROM MyTable WHERE id=@photoid", conn))
        {
            cmd.Parameters.Add("@photoid", SqlDbType.Int).Value = photoId;
            using(SqlDataReader dr = cmd.ExecuteReader())
            {
                if (dr.Read())
                {
                    Response.ContentType = dr["photomimetype"].ToString();
                    Response.AddHeader("content-disposition", "inline; filename='"" + dr["photofilename"] + "'"");
                    Response.BinaryWrite((byte[])dr["photo"]);
                }
                else
                {
                    Response.StatusCode = 404;
                }
                dr.Close();
            }
        }
    }