使用SelectCommand进行查询,为sql设置有两个检索条件c和d。
想实现的需求是
当设置查询条件c为1而不给d赋值时,检索出符合c=1的数据(无论d是什么都无所谓,都看作是符合条件的检索结果)
当设置查询条件d为2而不给c赋值时,检索出符合d=2的数据(无论c是什么都无所谓,都看作是符合条件的检索结果)
当设置查询条件c为1而d为2时,检索出符合c=1并且d=2的数据不想用直接拼sql的方式实现,而想用SelectCommand并且设置参数的方式实现,下面的代码肯定不行,但不知道如何实现,请高人指点,呵呵SelectCommand`.commandtext = select a,b from table where c@CategoryName and d = @SerialNumSelectCommand.Parameters.Add(
    "@CategoryName", SqlDbType.VarChar, 80).Value = "1";
SelectCommand.Parameters.Add(
    "@SerialNum", SqlDbType.Int).Value = 2;
  categoriesAdapter.Fill(categoriesDataSet);

解决方案 »

  1.   

    这种情况一般是写三句如果要拼SQL的话,可以不用参数,直接形成 select a,b from table where c= 1这样的
      

  2.   

    SelectCommand`.commandtext = select a,b from table where (c=1 or d=2)or( c= @CategoryName and d = @SerialNum )
      

  3.   

    要是直接拼sql的话,我还在这里发帖子干啥,呵呵
      

  4.   

    谢谢各位帮忙,呵呵但,hdt同学,是我没看懂你的回答,还是你没看懂我的问题,呵呵