转化为二进制格式再存到Image类型的字段中 
try 
            { 
                FileInfo fi = new FileInfo(filename); 
                if (!fi.Exists) 
                { 
                    MessageBox.Show("该文件名不存在"); 
                } 
                byte[] contents = new byte[fi.Length]; 
                FileStream fs = fi.OpenRead(); 
                fs.Read(contents, 0, contents.Length); 
                fs.Close(); 
                string str1 = "server=127.0.0.1;database=xu;uid=sa;pwd=''"; 
                SqlConnection sqlconn = new SqlConnection(str1); 
                sqlconn.Open(); 
                string str3 = "insert into sc(sno,image) values(@sno,@image) "; 
                SqlCommand sqlcomm = new SqlCommand(str3, sqlconn); 
                sqlcomm.Parameters.Add("@sno", SqlDbType.Char, 5); 
                sqlcomm.Parameters.Add("@image", SqlDbType.Image, 16); 
                sqlcomm.Parameters["@sno"].Value = "0521"; 
                sqlcomm.Parameters["@image"].Value = contents; 
                sqlcomm.ExecuteNonQuery(); 
                sqlconn.Close(); 
                MessageBox.Show("图像文件 " + fi.FullName + " 成功上传到数据库!"); 
                  } 
            catch (Exception exc) 
            { 
                MessageBox.Show(exc.Message); 
            }

解决方案 »

  1.   


    private void button1_Click(object sender, EventArgs e)   //存图片
            {
                Stream ms;
                byte[] picbyte;
                OpenFileDialog ofdSelectPic = new OpenFileDialog();
                ofdSelectPic.ShowDialog();
                ms = ofdSelectPic.OpenFile();
                picbyte = new byte[ms.Length];
                ms.Position = 0;
                ms.Read(picbyte, 0, Convert.ToInt32(ms.Length));            SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=s");
                conn.Open();
                string sqlstring = "insert into ttt(image) values(@img)";
                SqlCommand cmd = new SqlCommand(sqlstring, conn);
                cmd.Parameters.Add("@img", SqlDbType.Image, picbyte.Length).Value = picbyte;
                
                cmd.ExecuteNonQuery();
                conn.Close();
            }        private void button2_Click(object sender, EventArgs e)  //取图片
            {
                SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=s");
                conn.Open();
                string strSql = "select image from ttt ";
                SqlCommand cmd = new SqlCommand(strSql, conn);
                SqlDataReader sdr = cmd.ExecuteReader();
                sdr.Read();
                MemoryStream ms = new MemoryStream((byte[])sdr[0]);
                Image image = Image.FromStream(ms);
                sdr.Close();
                conn.Close();
                pictureBox1.Image = image; 
            }