2014-09-08 23:00:53

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();
    }
发表回复