我在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