变量名'@Param'已经被声明

时间:2011-05-27 13:07:20

标签: c# asp.net

当用户点击搜索按钮两次以上时,我正在为给定代码提供以下错误消息。有人可以帮助我做错了吗。

  

变量名'@Param'已经存在   已经宣布。变量名必须是   在查询批处理或存储中唯一   过程

protected void btnSearch_Click(object sender, EventArgs e)
{
    DS.SelectCommand = 
      "SELECT ReportName, ReportType, 
       FROM Table 
       WHERE ReportName LIKE @param 
       ORDER BY ReportType Desc";
   DS.SelectParameters.Add("Param", searchTxtBox.Text.Replace("'", "''"));
   DS.DataBind();
   ListView1.DataBind();               
}

2 个答案:

答案 0 :(得分:5)

尝试

DS.SelectCommand = 
    "SELECT ReportName, ReportType, 
     FROM Table 
     WHERE ReportName LIKE @param 
     ORDER BY ReportType Desc";
DS.SelectParameters.Clear();
DS.SelectParameters.Add("Param", searchTxtBox.Text.Replace("'", "''"));

答案 1 :(得分:0)

由于我无法确定DS的定义位置,我无法确定,但我怀疑您在其他地方使用相同的数据源并使用不同的Param。为每个不同的查询使用不同的来源。