本帖最后由 heku518 于 2009-11-03 22:57:56 编辑

解决方案 »

  1.   

    这个搜索一下保存Image字段数据
      

  2.   

    换成其他方式存储图片,读取图片,也提示参数无效!            string str = "select Pic1,Pic2,Pic3,Pic4 from tb_Picture where SeriNumber='" + dataGridView1.CurrentCell.OwningRow.Cells["跟号"].Value.ToString() + "'";
                DataSet myDataSet = G_SqlExecute.GetDs(str, "tb_Picture");
                int c = myDataSet.Tables["tb_Picture"].Rows.Count;
                try
                {
                    if (c > 0)
                    {
                        Byte[] byteBLOBData = new Byte[0];
                        byteBLOBData = (Byte[])(myDataSet.Tables["tb_Picture"].Rows[c - 1]["Pic1"]);
                        MemoryStream stmBLOBData = new MemoryStream(byteBLOBData);
                        pictureBox1.Image = Image.FromStream(stmBLOBData);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
                //这里看如何将图片保存到数据库的。
                FileStream fs = new FileStream(Path1, FileMode.Open, FileAccess.Read);
                Byte[] bytePic1 = new Byte[fs.Length];
                fs.Read(bytePic1, 0, bytePic1.Length);
                fs.Close();
                
                /****保存第一张图片及路径到数据库***/
                SqlParameter para6 = new SqlParameter("@Pic1", SqlDbType.Image, 16);
                para6.Value = bytePic1;
                myCommand.Parameters.Add(para6);
                 
                SqlParameter para6_1 = new SqlParameter("@Path1", SqlDbType.NVarChar, 50);
                para6_1.Value = Path1;
                myCommand.Parameters.Add(para6_1);
                /****保存第一张图片及路径到数据库***/
      

  3.   

    结题知道是什么错了!
    SqlParameter para8 = new SqlParameter("@Pic3", SqlDbType.Image, 16);
    这一句出错了!
    SqlParameter para8 = new SqlParameter("@Pic3", SqlDbType.Image, imageb4.Length);
    这样才对,保存到数据库才是完整的值!
    所以,一直提示“参数错误!”哎!
    主要还得感谢一个网站~
    被我关闭了!找不到网址了~