这个是添加 图片到数据库
 if (tname.Text == "" || tjiguan.Text == "" || comboBox1.Text == "")
            {
                MessageBox.Show("请输入必要的内容");
            }
            else
            {
                SqlConnection conn = Class1.str();
                conn.Open();
                comm = new SqlCommand("select daimai from Daimaiweihu where biaoshi='" + comboBox1.Text + "' ", conn);
                SqlDataReader sdr = comm.ExecuteReader();
                sdr.Read();
                string ss = sdr[0].ToString();
                sdr.Close();
               
                FileStream fs = new FileStream(openFileDialog1.FileName,FileMode.Open,FileAccess.Read);
                BinaryReader br = new BinaryReader(fs);
                byteImage = br.ReadBytes((int)fs.Length);
                //comm.CommandText = "insert into Users(Uname,Ujiguan,daimai,Uchushengriqi,Uzhaopian) values(" + tname.Text + "','" + tjiguan.Text + "','" + ss + "','" + dateTimePicker1.Value.ToString() + "','" + byteImage + "')";
                comm.CommandText = "insert into Users(Uname,Ujiguan,daimai,Uchushengriqi,Uzhaopian) values(@name,@tjiguan,@xingbie,@chushengriqi,@tupian)";
                comm.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = tname.Text;
                comm.Parameters.Add("@tjiguan", SqlDbType.VarChar, 50).Value = tjiguan.Text;
                comm.Parameters.Add("@xingbie", SqlDbType.Int , 4).Value =ss;
                comm.Parameters.Add("@chushengriqi", SqlDbType.DateTime, 8).Value = dateTimePicker1.Value.ToString();
                comm.Parameters.Add("@tupian", SqlDbType.Image, 16).Value = byteImage;
                //MessageBox.Show(comm.CommandText);
               
                int i = Convert.ToInt16(comm.ExecuteNonQuery());
                if (i > 0)
                {
                    MessageBox.Show("添加成功");
                    Form.BinData();
                    Close();
                }
                else
                {
                    MessageBox.Show("添加失败");
                }            }
        }        private void button2_Click(object sender, EventArgs e)
        {
            Close();
        }        public void button3_Click(object sender, EventArgs e)
        {
            
            openFileDialog1.Filter = "*.jpg|*.jpg|*.bmp|*.bmp";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    //将图片文件存入到PictureBox控件中
                    pictureBox1.Image = System.Drawing.Image.FromFile(openFileDialog1.FileName);
                    FileInfo finfo = new FileInfo(openFileDialog1.FileName);
                    strimg = finfo.DirectoryName;
                }
                catch (Exception)
                {
                    //弹出错误信息
                    MessageBox.Show("您选择的图片不能被读取或文件类型不对!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    
                }
这个是读取
SqlConnection conn = Class1.str();
            conn.Open();
           SqlDataAdapter  comm = new  SqlDataAdapter ("select Uzhaopian from Users where Uname='"+ dataGridView1.SelectedCells[1].Value.ToString() + "'", conn);
           DataSet ds = new DataSet();
           comm.Fill(ds);            
           //MessageBox.Show(ds.Tables[0].Rows[0][0].ToString());
           //FileStream fs = new FileStream();           MemoryStream stream = new MemoryStream((byte[])(ds.Tables [0].Rows[0][0]));
           
            //MessageBox.Show(stream.Length.ToString());
           pictureBox1.Image = Image.FromStream( stream);总是提示我参数无效  我弄不明白

解决方案 »

  1.   

    pictureBox1.Image = Image.FromStream( stream);参数无效
      

  2.   

    pictureBox1.Image = Image.FromStream( stream);参数无效
      

  3.   

    MemoryStream stream = new MemoryStream((byte[])(ds.Tables [0].Rows[0][0]));
    没有取到数据。下个断点看看。
      

  4.   

     byte[] imgBt = new byte[imgUpload.ContentLength];
                                imgUpload.InputStream.Read(imgBt, 0, imgUpload.ContentLength);
                                artM.PdfFile = imgBt;
      

  5.   

    SqlDbType.Image
    改成SqlDbType.baniry试试