1

我在 Visual Studio 2008 中有一个程序。
除了我无法datagridview按日期搜索之外,一切正常。
我需要能够输入年份,然后将显示具有该年份的每条记录。
我曾经tableadapter添加buttons按姓名和姓氏进行搜索的搜索,但是当我对日期执行相同操作时,它会显示“没有为一个或多个必需参数提供值”。
我曾经datetime picker获取日期的值。

我试过的代码是

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

1 回答 1

0

您可以使用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
于 2013-03-01T05:46:28.623 回答