必须声明标量变量“@Image”。将图像保存到数据库时出错

时间:2013-02-21 15:47:43

标签: asp.net sql image save

我目前正在尝试使用以下代码将图像保存到我的数据库:

byte[] myimage = new byte[FileUpload1.PostedFile.ContentLength];
HttpPostedFile Image = FileUpload1.PostedFile;
Image.InputStream.Read(myimage, 0, (int)FileUpload1.PostedFile.ContentLength);

string id = txtScanId.Text;

cmd1.CommandText = "INSERT INTO TABLE(AssetImage) VALUES (@Image)";
cmd1.Connection = con1;
con1.Open();
cmd1.ExecuteNonQuery();

但我收到错误:

  

必须声明标量变量“@Image”

任何人都可以提供帮助,我已经这样做了6个小时!

谢谢!

2 个答案:

答案 0 :(得分:4)

您声明了一个参数,但您没有为其提供值。为了正确执行代码,请在调用ExecuteNonQuery()之前在参数上设置一个值。

cmd1.Parameters.AddWithValue("@image", myimage);
cmd1.ExecuteNonQuery();

答案 1 :(得分:0)

你也可以使用下面的代码希望它能正常工作

cmd1.Parameters.AddWithValue("@image",DbType.VARBINARY).Value= myimage;