所以我有一个下拉列表(ASP.NET),其中包含从sqldatasource检索的一些值。我添加了一个项目名称'ALL',其值为-1,以检索该字段中的所有值(字段为varchar)。但它确实发送了工作。请帮助我如何获得所有值而不是特定值。
'All'Value是-1将女巫传递给参数@NAME,但它确实发送了作品
查询:
SELECT USERINFO.USERID, USERINFO.NAME, USERINFO.TITLE,
CHECKINOUT.CHECKTIME, CHECKINOUT.CHECKTYPE FROM USERINFO INNER JOIN
CHECKINOUT ON USERINFO.USERID = CHECKINOUT.USERID WHERE NAME = @NAME
AND CHECKTIME BETWEEN @startDate AND @endDate + ' 23:59:00.000'
答案 0 :(得分:0)
SELECT USERINFO.USERID, USERINFO.NAME, USERINFO.TITLE,
CHECKINOUT.CHECKTIME, CHECKINOUT.CHECKTYPE FROM USERINFO INNER JOIN
CHECKINOUT ON USERINFO.USERID = CHECKINOUT.USERID
WHERE ( NAME = @NAME and @NAME<> -1 ) OR (@NAME = -1 and 1=1)
AND CHECKTIME BETWEEN @startDate AND @endDate + ' 23:59:00.000'
基本上,条件1=1
用于忽略传递给变量的特定值的where子句中的条件,在本例中为@NAME