小问题,如何能不用输入所有文本框就可以查询?
我有几个文本框,分别用来限定查询条件的,下面有一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] }
]