在两个日期之间搜索并显示结果 - gridview

时间:2012-06-12 10:29:54

标签: c# asp.net sql

我有一个gridview和sqldatasource。

这是gridview:

    +----+--------------+--------+----------+
    | No |  Names       |   ID   |  Date    |
    +----+--------------+--------+----------+
    |  1 |  Name1       |1636    |04.15.2012|
    |  2 |  Name7       |1236    |09.12.2012|
    |  3 |  Name1       |1136    |08.16.2012|
    |  4 |  Name3       |1536    |09.25.2012| 
    |  5 |  Name11      |1436    |09.15.2012|
    |  6 |  Name1       |1836    |09.11.2012| 
    |  7 |  Name2       |1736    |09.15.2011|
    |  8 |  Name1       |1296    |08.15.2012| 
    +----+--------------+--------+----------+

现在我在Names中搜索Name1并显示第一个日期和最终日期之间的所有行

  Names : [Name1]
    First date : [08.01.2012]
    Final date : [09.30.2012] 
                 [[SEARCH]]

结果将是:

+----+--------------+--------+----------+
| No |  Names       |   ID   |  Date    |
+----+--------------+--------+----------+
|  3 |  Name1       |1136    |08.16.2012| 
|  8 |  Name1       |1296    |08.15.2012| 
|  6 |  Name1       |1836    |09.11.2012| 
+----+--------------+--------+----------+

我不知道如何做到这一点,如果他不介意,有人可以帮助我吗?

谢谢你,    JAX

3 个答案:

答案 0 :(得分:2)

select *
from your_table
where name='Name1' and Date between 'First date' and 'Final date';

答案 1 :(得分:1)

您可以使用sql查询来解决此问题,并且查询是

   select NO,Names,ID,Date from [your table] where Names='Name1' and Date Between FirstDate and SecondDate

希望这会对你有帮助..

答案 2 :(得分:0)

如果第一个日期最终日期的数据类型为DateTime

,请使用以下查询
SELECT 
   NO,Names,ID,Date 
FROM 
   [Table Name] 
WHERE 
   Names = 'Name1' AND
   Date BETWEEN FirstDate AND SecondDate

如果您将第一个日期最终日期作为字符串传递,则需要将它们转换为DATE数据类型并在查询中使用,如下所示。

SELECT 
   NO,Names,ID,Date 
FROM 
   [Table Name] 
WHERE 
   Names = 'Name1' AND
   CONVERT(DATE,[Date],101) BETWEEN CONVERT(DATE,FirstDate,101) AND    
   CONVERT(DATE,SecondDate,101)