C# 将“全部”选项添加到DropDownlist ASP.NET

C# 将“全部”选项添加到DropDownlist ASP.NET,c#,asp.net,sql,sql-server,sql-server-2012,C#,Asp.net,Sql,Sql Server,Sql Server 2012,因此,我有一个下拉列表ASP.NET,其中包含从sqldatasource检索到的一些值。我添加了一个值为-1的项目名'ALL',以检索该字段中的所有值。该字段为varchar。但它确实派上了用场。请帮助我如何获取所有值而不是特定值 “All”值为-1,它被传递给参数@NAME,但它没有发送工作 查询: SELECT USERINFO.USERID, USERINFO.NAME, USERINFO.TITLE, CHECKINOUT.CHECKTIME, CHECKINOUT.

因此,我有一个下拉列表ASP.NET,其中包含从sqldatasource检索到的一些值。我添加了一个值为-1的项目名'ALL',以检索该字段中的所有值。该字段为varchar。但它确实派上了用场。请帮助我如何获取所有值而不是特定值

“All”值为-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'

基本上,条件1=1用于忽略where子句中传递给变量的特定值的条件,在本例中@NAME

感谢您的示例帮助我。。。我刚刚修复了查询,一个小名称是varchar,所以我得到了数据类型错误。。。
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'