我正在一个我遇到问题的网站上工作。我是初学者,所以请不要生我的气。我的问题是:我已将图像文件上传到数据库中并同时显示在框中。现在我想要的是当我跳到下一页时,相同的图片将显示在框中,这样我就可以对其进行一些调整。
到目前为止,我所做的是以下代码,但没有成功,它给出了错误
必须声明标量变量" @ id"
我已经搜索了一个解决方案,但我找不到适合我的解决方案。任何帮助将不胜感激,提前谢谢。
ASPX部分是:
<asp:Image ID="image"
runat="server"
ImageUrl='<%# Eval("image") %>'
width="450" />
CS部分是:
SqlConnection con = new SqlConnection("Data Source=Tim-PC\\SQLEXPRESS;
Initial Catalog=AP_Data;
Integrated Security=True");
protected void Page_Load(object sender, EventArgs e)
{
SqlDataAdapter sda = new SqlDataAdapter("SELECT image
FROM photo
WHERE id=@id",
con);
DataTable dt = new DataTable();
sda.Fill(dt);
GridView1.DataSource = dt;
DataBind();
}
答案 0 :(得分:2)
您必须创建一个@Id参数...
SqlCommand cmd = new SqlCommand("SELECT image FROM photo WHERE id=@id",con);
SqlParameter param = new SqlParameter();
param.ParameterName = "@id";
param.Value = "Value_Of_parameter"; //Example 1
cmd.Parameters.Add(param);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
答案 1 :(得分:0)
请尝试以下操作:
SqlCommand cmd = new SqlCommand("SELECT image FROM photo WHERE id=@id", con);
cmd.Parameters.AddWithValue("@id", paramVal);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
希望这能帮到你!