【问题标题】:Assistance building a complex sql statement for vb.net协助为 vb.net 构建复杂的 sql 语句
【发布时间】:2013-07-29 15:33:43
【问题描述】:

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

我已经尝试了该声明的几种变体,但我似乎无法理解它。我可以用普通的英语说我不希望该员工在终止日期之后出现,但我无法考虑使用 sql 语句来完成它。例如:

终止日期应该是

总的来说,我对编码很陌生。我用的是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 <= ?

【问题讨论】:

  • 您使用的是哪种 SQL? TSQL?甲骨文? MySql?
  • 我不确定它是否是使用 MS Access 数据库的绑定 datagridview 的常规 sql 语句。

标签: sql vb.net winforms


【解决方案1】:

不确定您的数据库表结构,但大致如下:

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

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

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

【讨论】:

  • 如果您在日期测试中遇到问题,请尝试使用#...# 作为日期字符串的分隔符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多