asp.net SqlDataSource 预编译 动态SQL搜索
配置SqlDataSource1,搜索的一般需要动态查询,为了解决拼SQL问题,可以采用预编译。参考:SqlDataSource 中 参数动态赋值的方法 和 使用 SqlDataSource 进行带参数的查询
protected void Button1_Click(object sender, EventArgs e)
{
string id = TextBox1.Text.ToString();
string orgName = TextBox2.Text.ToString();
this.SqlDataSource1.SelectParameters.Clear();
string sql = "SELECT * FROM sys_user WHERE 1 = 1 ";
if(id!=null && !"".Equals(id)){
sql += " and id= @id ";
this.SqlDataSource1.SelectParameters.Add("id", System.TypeCode.Object, id);
}
if (orgName != null && !"".Equals(orgName))
{
sql += " and org_name like '%' + @orgName + '%' ";
this.SqlDataSource1.SelectParameters.Add("orgName", System.TypeCode.String, orgName);
}
SqlDataSource1.SelectCommand = sql;
this.SqlDataSource1.DataBind();
this.GridView1.DataBind();
}