我正在研究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。
提前致谢。