在下一页上显示数据库中的相同图像

时间:2014-07-07 07:01:37

标签: c# asp.net sql

我正在一个我遇到问题的网站上工作。我是初学者,所以请不要生我的气。我的问题是:我已将图像文件上传到数据库中并同时显示在框中。现在我想要的是当我跳到下一页时,相同的图片将显示在框中,这样我就可以对其进行一些调整。

到目前为止,我所做的是以下代码,但没有成功,它给出了错误

  

必须声明标量变量" @ 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();
        }

2 个答案:

答案 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);

希望这能帮到你!