怎样把图片的路径存入数据库,然后再把图片显示在picturebox里

解决方案 »

  1.   

    Stream ms;
      byte[] picbyte;
      OpenFileDialog ofdSelectPic = new OpenFileDialog();
      if (ofdSelectPic.ShowDialog() == DialogResult.OK)
      {
      if ((ms = ofdSelectPic.OpenFile()) != null)
      {
      picbyte = new byte[ms.Length];
      ms.Position = 0;
      ms.Read(picbyte, 0, Convert.ToInt32(ms.Length));
      SqlConnection conn = new SqlConnection();
      conn.ConnectionString = "";  sql = "Insert into Person(Photo) values(@Image)";
      SqlCommand cmd = new SqlCommand(sql, conn);  cmd.Parameters.Add("@Image", SqlDbType.VarBinary);
      cmd.Parameters["@Image"].Value = picbyte;  conn.Open();
      cmd.ExecuteNonQuery();
      conn.Close();  ms.Close();
      }
      } SqlConnection conn=new SqlConnection();   
     conn.ConnectionString="";   
     string strSql="";   
     SqlCommand cmd=new SqlCommand(strSql,conn);   
     conn.Open();   
     SqlDataReader reader=cmd.ExecuteReader();   
      reader.Read();   
     MemoryStream ms=new MemoryStream((byte[])reader["Photo"]);   
     Image image=Image.FromStream(ms,true);   
     reader.Close();   
     conn.Close();   
     picturebox1.Image=image;   
      

  2.   


    OpenFileDialog opendialog = new OpenFileDialog();             //打开 文件对话框
                opendialog.Filter = "JpegAndGif|*.jpg;*.Gif;*.png";       //筛选格式
                opendialog.RestoreDirectory = true;                               
                opendialog.FilterIndex = 1;
               if (opendialog.ShowDialog() == DialogResult.OK)           
                {
                   pictureaddress = opendialog.FileName;                                          //  获取地址
                    pictureBox1.Image = Image.FromFile(pictureaddress, false);       //   用picturebox1显示图片            }
           db是连接数据库的类
          
         class db
        {
            public static void ExecSql(string strsql, string image)
            {
                FileStream fs = File.OpenRead(image);
                byte[] imageb = new byte[fs.Length];
                fs.Read(imageb, 0, imageb.Length);
                fs.Close();
                SqlConnection con = Getconn();
                SqlCommand cmd = new SqlCommand(strsql, con);
                cmd.Parameters.Add("@Content", SqlDbType.Image);
                cmd.Parameters["@Content"].Value = imageb;
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
        }