我用的是vs2005 AJAX 操作系统XP SP2
我在用户控件中做个查询,代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class UserControl_aqrk_sb : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
//工程名称的模糊查询
ControlParameter cp = new ControlParameter("project", "TextBox1", "Text");
//获得Select语句,并添加条件
string str = "SELECT * FROM [aqrk_sb] WHERE ([project] LIKE '%' + @project + '%')";
//更新Select语句
SqlDataSource1.SelectCommand = str;
SqlDataSource1.SelectParameters.Add(cp);
//重新绑定数据
GridView1.DataBind();
}
}
当执行完第一次查询时正确,第二次就不能运行了,提示:
@project 已经声明过,变量名在批查询或存储过程内部中必须唯一。
请高手帮助改一下代码。
------解决方案--------------------------------------------------------
protected void Button1_Click(object sender, EventArgs e)
{
//工程名称的模糊查询
ControlParameter cp = new ControlParameter("project", "TextBox1", "Text");
//获得Select语句,并添加条件
string str = "SELECT * FROM [aqrk_sb] WHERE ([project] LIKE '%' + @project + '%')";
//更新Select语句
SqlDataSource1.SelectCommand = str;
SqlDataSource1.SelectParameters.Clear(); // 清理参数
SqlDataSource1.SelectParameters.Add(cp);
//重新绑定数据
GridView1.DataBind();
}