使用日期时间时如何按年搜索



我在Visual Studio 2008中有一个程序。
一切正常,只是我不能按日期搜索我的datagridview
我需要能够键入年份,然后将显示具有该年份的每条记录。
我使用tableadapter添加搜索buttons,按姓名和姓氏搜索,但当我对日期做同样的事情时,它说"没有为一个或多个所需参数给定值"。
我使用datetime picker来获取日期的值。

我尝试的代码是

SELECT        
  memberno, firstname, middlename, lastname, gender, emailadd, address, phone, datejoined
FROM
  Members
WHERE        
 (DATEPART(y, datejoined) = ?)

可以这样使用datediff函数

  SELECT DATEDIFF(year, '2005-12-31 23:59:59.9999999', '2006-01-01 00:00:00.0000000');
结合

 SELECT 
      memberno, firstname, middlename, lastname, gender, 
      emailadd, address, phone, datejoined 
 FROM 
     Members 
 WHERE 
    DATEDIFF(year, '2005-12-31 23:59:59.9999999', yourdate)=0;

编辑1

如果你从文本框中获得值(你想要搜索的年份),那么你可以这样做

 SELECT 
      memberno, firstname, middlename, lastname, gender, 
      emailadd, address, phone, datejoined 
 FROM 
     Members 
 WHERE 
    DATEDIFF(year, datejoined, textboxvalue)=0;

编辑2

  int Year=Int32.Prase(textbox1.text);     
  var date1 = new DateTime(Year, 1, 1, 4, 5, 6);
  var date2=new DateTime(year+1,1,1,4,5,6);
  date >= date1 and < date2

相关内容

  • 没有找到相关文章

最新更新