string fName=openFileDialog1.FileName;            FileStream fs = new FileStream(fName, FileMode.Open);
                byte[] imgbt = new byte[fs.Length];
                BinaryReader br = new BinaryReader(fs);
                imgbt = br.ReadBytes(Convert.ToInt32(fs.Length)); String sql = "Update GG set images='" + imgbt+ "' where Id='" + xxx + "'";//sql语句
//运行到sql断下来 语句是"Update GG set images='System.byte[]' where Id='1'"//我用messagebox.show出来也是System.byte[]这句话  我时想往数据库里插入的时byte里德二进制流 但是为什么插入的时一段字符

解决方案 »

  1.   

     String sql = "Update GG set images=@images where Id=@id"
    cmd.Parameters.AddWithValue("@images",imgbt );
    cmd.Parameters.AddWithValue("@id",xxx );
      

  2.   


    conn.Open();
                    SqlCommand com = new SqlCommand("Update GG set images=@imgdata where Id='" + xxx + "'",conn);
                    com.Parameters.Add("@imgdata", SqlDbType.Image);
                    com.Parameters["@imgdata"].Value = imgbt;
                    com.ExecuteNonQuery();
                    conn.Close();
    终于搞好了  谢谢大家了
      

  3.   

    怎么对 imgbt 还加引号,真服了你了
      

  4.   

    先把图片变为二进制数组,然后用Command的参数形式赋值,然后执行即可。