从数据库中选择 - 选择整个月的数据

Jov*_*ica 1 vb.net select date

我有一个组合框,其中包含01-12(月)的项目,根据选定的月份,数据从datagridview中的数据库中提取.然后将选定的值(月)放到label5.

选择日期之间的工作正常,但如何选择1个月内的所有日子而不必定义每个月的日期范围(由于某些年份在2月份有29天,因此无效).

我已经尝试了这个(我已经花了31天来结束范围以涵盖任何一个月的所有日子,但是因为Label5.text ="02"而导致错误,VB.NET不知何故知道2月份没有31天:

Dim SQLString As String = "SELECT KONTO, NALOG, DUGUJE, POTRAZUJE, 
    DATPRO, OPIS 
    FROM PROMGL WHERE DATPRO between #" & Label5.Text & "/1/2014# and #" 
    & Label5.Text & "/31/2014#" 
Run Code Online (Sandbox Code Playgroud)

我能做什么?

Guf*_*ffa 5

<在下个月的第一天使用运营商:

Dim month As Integer = Int32.Parse(Label5.Text)
Dim SQLString As String = "SELECT KONTO, NALOG, DUGUJE, POTRAZUJE,
  DATPRO, OPIS 
  FROM PROMGL WHERE DATPRO >= #" & month & "/1/2014# and DATPRO < #" 
  & (month + 1) & "/1/2014#"
Run Code Online (Sandbox Code Playgroud)

将值解析为整数还可以保护您免受SQL注入攻击.您不应该直接在查询中使用值,而不确保它不会破坏它.通常使用参数化查询来简化这一过程.

注意:编写的代码只能工作到11月,你需要调整年份以支持12月.