以双格式而不是Date fomat VB.NET在2个日期之间搜索

时间:2017-03-17 02:19:23

标签: vb.net date

我正在研究VB.NET 2015和MS Access数据库 我正在努力将日期转换为Double Format但我在创建报告时再次将日期从Double转换为Date格式时遇到了一些问题。 我决定再次使用日期类型,将数据库字段更改为日期/时间并使用以下代码。

 Private Sub SearchInvoiceByDate()

    Dim InvDateFrom As Double
    InvDateFrom = dtpFromDate.Value.Date.ToOADate
    Dim InvDateTo As Double
    InvDateTo = dtpToDate.Value.Date.ToOADate

    'Dim InvDateFrom As Date
    'InvDateFrom = dtpFromDate.Value.Date
    'Dim InvDateTo As Date
    'InvDateTo = dtpToDate.Value.Date

    objdataset.Clear()
    DGPurchaseReport.DataSource = Nothing
    DGPurchaseReport.ColumnCount = 0

    ConnectDatabse()

    objDataAdapter.SelectCommand = New OleDbCommand
    objDataAdapter.SelectCommand.Connection = myConnection
    objDataAdapter.SelectCommand.CommandText = "Select * from Invoice where Invoice_Date BETWEEN " & InvDateFrom & " and  " & InvDateTo & ""
    objDataAdapter.SelectCommand.CommandType = CommandType.Text
    myConnection.Open()
    objDataAdapter.Fill(objdataset, "Invoice")

    DGPurchaseReport.DataSource = objdataset
    DGPurchaseReport.DataMember = "Invoice"

我忘记将InvDateFrom / TO格式更改为Date,它工作正常,我得到了所需的结果。每当我将InvDateFrom / TO更改为Date时,我都没有结果。 我想知道为什么它以这种方式工作,但是当我打开我的数据库时,日期格式是日期,如2017年3月17日。

当我输入此代码时:

Dim InvDateFrom As Date
InvDateFrom = dtpFromDate.Value.Date
Dim InvDateTo As Date
InvDateTo = dtpToDate.Value.Date

我没有结果。

dtpFrom / dtpToDate是带有customFOrmat的DateTimePicker:

dtpFromDate.CustomFormat = "ddMMyyyy"
    dtpToDate.CustomFormat = "ddMMyyyy"

还有一件事,我在DataGridView中以日期格式17/03/2017获取invoice_Date,尽管我搜索的是double。

提前致谢。

0 个答案:

没有答案