小弟刚学C#,现遇到一问题。
作一个人员管理系统,如何将照片保存到数据库中?
高人指教。

解决方案 »

  1.   

    数据库中设 一个Image字段
    然后以二进制形式放入(Stream)
      

  2.   

    先存一个 空值,然后用一下更新库即可。。             
     SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=;database=数据库");
                    string str;
                    byte[] picbyte = new byte[ms.Length];
                    ms.Position = 0;
                    ms.Read(picbyte, 0, Convert.ToInt32(ms.Length));
                    str = "update  表名 set 图片=@TP where 条件 ";
                    SqlCommand sqlcom = new SqlCommand(str, sqlcon);
                    sqlcom.Parameters.Add(new SqlParameter("@TP", SqlDbType.Image));
                    sqlcom.Parameters["@TP"].Value = picbyte;
                    sqlcon.Open();
                    sqlcom.ExecuteNonQuery();
                    sqlcon.Close();
                    ms.Close();
      

  3.   

    还有得声明  public Stream ms;
      

  4.   

    数据库表的字段类型:image
    c#中的类型对应是byte[]
    把图片数据取出来放到byte[]中,然后往image字段里写就是。
      

  5.   

    //轉換存取 
    //ImageToByte(Image img)
    public static byte[] ImageToByte(Image img)
    {
    byte[] byt = null;
    ImageConverter imgCvt = new ImageConverter();
    object obj = imgCvt.ConvertTo(img, typeof(byte[]));
    byt = (byte[])obj;
    return byt;
    } //ByteToImage(byte[] byt)
    public static Image ByteToImage(byte[] bytImage)
    {
    Image img = null;
    if (bytImage.Length == 0)
    {
    return img;
    }
    else
    {
    ImageConverter imgCvt = new ImageConverter(); object obj = imgCvt.ConvertFrom(bytImage);
    img = (Image)obj;
    return img;
    }
    }