当前位置: 代码迷 >> ASP.NET >> 小疑点,怎么能不用输入所有文本框就可以查询
  详细解决方案

小疑点,怎么能不用输入所有文本框就可以查询

热度:3130   发布时间:2013-02-26 00:00:00.0
小问题,如何能不用输入所有文本框就可以查询?
我有几个文本框,分别用来限定查询条件的,下面有一GridView用来显示查询结果,可是必须要每个框都输入才能查询,要不就出错,如何能不输或少输就能查询到数据?

------解决方案--------------------------------------------------------
sql语句里的变量条件少写点,不就行了吗
------解决方案--------------------------------------------------------
ALTER PROCEDURE Pr_AdvanceSearchProduct
(
@ManagerName varchar(50)=null,
@depart varchar(100)=null,
@MinDate datetime=null,
@MaxDate datetime=null
)
AS

SELECT
*
FROM
manager,TotalAssess
WHERE
manager.ManagerID=TotalAssess.ManagerID AND
manager.ManagerName like '% ' + @ManagerName + '% ' AND manager.jigou_name like '% ' + @depart + '% '
AND TotalAssess.StartTime > = @MinDate AND TotalAssess.EndTime <= @MaxDate
-----------------------------------------------------------------------------------
将参数设置成可以为空,这样设置为空的参数在输入空值的情况下才不会出错
------解决方案--------------------------------------------------------
用存储过程也可以,但是要用动态的执行Sql语句,这样可以把条件不为NUll的(没有传的)组成一个Sql再去执行查询:
sp_executesql:

语法
sp_executesql [@stmt =] stmt
[
{, [@params =] N '@parameter_name data_type [,...n] ' }
{, [@param1 =] 'value1 ' [,...n] }
]
  相关解决方案