协助为vb.net构建复杂的sql语句

时间:2013-07-29 15:33:44

标签: sql vb.net winforms

我需要构建一个sql语句来加载带有员工条目的datagridview,但是如果员工已经被终止,那么条目显然不应该在终止日期之后出现。的?将被DateTimePicker的值替换

我已经尝试了一些声明的变体,但我似乎无法绕过它。我可以用普通英语说我不希望这个员工在终止日期之后出现,但是我很难想到sql语句来完成它。例如:

终止日期应为< DateTimePicker,但这只显示终止日期低于dtp的条目。

总的来说,我很擅长编码。我正在使用visual studio 2010,语言是vb.net

1 -

SELECT        Project, EmployeeID, HireDate, TerminationDate, Name, Middle, Last,
FROM            Employeesdb
WHERE        (Termination Date = False) AND (TerminationDate <= ?)

2 -

SELECT        Project, EmployeeID, HireDate, TerminationDate, Name, Middle, Last,
FROM            Employeesdb
WHERE        TerminationDate <= ?

3-

SELECT        Project, EmployeeID, HireDate, TerminationDate, Name, Middle, Last,
FROM            Employeesdb
WHERE        TerminationDate <= ?

1 个答案:

答案 0 :(得分:1)

不确定您的数据库表结构,但有以下几点:

SELECT  Project, EmployeeID, HireDate, TerminationDate, Name, 
        Middle, Last,
FROM    Employeesdb
WHERE   (Termination Date IS NULL) OR (TerminationDate <= ?)

所有未被终止或未被终止的员工 在指定日期之前终止的那些

这假设terminateDate是一个日期字段,如果员工仍在工作,则可以保留为NULL ...