可以用
"select * …… where t1 like '%" & textbox1.text & "%'"这种形式把你的几个文本框都放进去,如果文本框中没输入条件,那么 where 子句就是 where t1 like '%%' ,跟没有where子句效果是一样的。

解决方案 »

  1.   

    是呀,我是这么用的,
    因为ASP。NET不支持控件数组,所以很难用别的判断
    不过查询语句可以创新一下,
    例如:
    STRING STRSQL=“SELECT * FROM 表名 WHERE 1=2”
    IF(THIS.textBox1.Text=="")
    {
    STRSQL+="AND 列名='"+THIS.textBox1.Text.Trim()+"'"
    }
      

  2.   

    构造sql语句最简单 同意楼上的 这样就不用if 判断了 思路清晰
      

  3.   

    不用if,直接给sql传值!
    同意用chg515(瞎玩)的方法,很方便!
      

  4.   

    sql中有coalesce()函数
     
      select * from table_name
      where
      col1_name=coalesce(@col1_name,col1_name) and 
      col2_name=coalesce(@col2_name,col2_name) and ......
      

  5.   

    学习,用sql很好啊,用if也可,就是太罗嗦了
      

  6.   

    還是先使用IF比較好,可不然的話,Sql語句就很長而且不容易維護
      

  7.   

    Create Procedure SelectCondition
     @Condition1 NVARCHAR(10)
    ,@Condition2 NVARCHAR(10)
    ,@Condition3 NVARCHAR(10)
    AS
    DECLARE WhereString NVARCHAR(200)
    SET WhereString=''
    IF(Condition1<>'')
    BEGIN
      SET WhereString=WhereString + 'Condition=''' + @Condition1 + ''''
    END
    ......
     EXEC('SELECT * FROM Table1 WHERE 2>1 ' + WhereString)
      

  8.   

    可以使用SELECT来拼接语句 不过这样存在漏洞