Visual Basic使用DateTimePicker确定SQL查询的日期
我正在尝试使用datetimepicker来确定SQL查询的日期,但很难让查询运行。这是我的密码Visual Basic使用DateTimePicker确定SQL查询的日期,sql,vba,datetimepicker,Sql,Vba,Datetimepicker,我正在尝试使用datetimepicker来确定SQL查询的日期,但很难让查询运行。这是我的密码 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load DateTimePicker1.Value = DateTime.Now DateTimePicker2.Value = DateTime.Now End Sub Private Sub Button1_Click(sende
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
DateTimePicker1.Value = DateTime.Now
DateTimePicker2.Value = DateTime.Now
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim date1 As String = DateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss")
Dim date2 As String = DateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss")
myLowerDate = "'" + Microsoft.VisualBasic.Left(date1, 19) + "'"
myUpperDate = "'" + Microsoft.VisualBasic.Left(date2, 19) + "'"
Dim Query1 As String =
"SELECT DISTINCT
'''' + d.ID + '''' AS DeliveryID,
l.Name AS LocationName
FROM
Locations l JOIN Deliveries d
ON l.id = d.LocationID
JOIN DeliveryRecords dr
ON d.ID = dr.DeliveryID
JOIN Items i
ON dr.ItemID = i.ID
WHERE
(l.OwnerUserID = 'aaaaa' OR l.OwnerUserID = 'bbbbb') AND
l.Deleted is NULL AND
ISNUMERIC(l.CustomID) = 1 AND
dr.Created <= DATEADD(HOUR, 8, " + myUpperDate + ") AND
dr.Created >= DATEADD(HOUR, 8, " + myLowerDate + ")"
SQLCon.Open()
Try
SQLCmd = New SqlCommand(Query1, SQLCon)
Dim R As SqlDataReader = SQLCmd.ExecuteReader
While R.Read
xName = R("Name").ToString
xDate = R("Date").ToString
xDueDate = R("DueDate").ToString
xInvoiceNumber = R("InvoiceNumber").ToString
End While
SQLCon.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
当我运行这个程序时,由于我的SQL查询,我得到一个错误,但是当我用实际值替换变量时,它运行正常。有人能指出我做错了什么吗?我刚刚知道我做错了什么。最后,我将查询设置为以日期为变量的函数,并将其插入到我的run query sub中。您将日期存储为文本,这显然会在尝试将其用作日期时出错。尝试调试代码并查看差异。