У меня есть приложение VB и база данных MS Access как BackEnd. Я хочу отобразить все записи на моем db в Datagrid с текущей системной датой. У меня проблема с моим заявлением sql Я не знаю, как мне это сделать.Выражение Sql для фильтрации записей, которые имеют текущую системную дату
Он отображает сообщение об ошибке «Dataype несовпадение в Criteria Выражение»
sqlqry = "Select * FROM tblAttendance WHERE WorkingDate >= '#" &
DateTime.Now.ToShortDateString() & "#'"
da = New OleDbDataAdapter(sqlqry, cnn)
Dim dt As New DataTable("tblAttendance")
da.Fill(dt)
Me.dgvAttendance.DataSource = dt
DataGridProperty(dgvAttendance)
DataGridAttendance(dgvAttendance)
удалить одиночные кавычки –
Возможный дубликат [Сравнить дату с текущей датой с использованием SQL в MS Access 2013] (http://stackoverflow.com/questions/22895095/compare-date-with-current-date-using-sql -in-ms-access-2013) –
Удалить выражение всей даты и использовать встроенную функцию 'Date()', например 'WHERE WorkDate()> = Date()'. Вы также должны избегать использования конкатенации строк во что бы то ни стало, поскольку это предоставляет вам как атаки SQL-инъекций, так и несоответствия формата * и * ToShortDateString. Использует локаль текущей системы, которая, вероятно, * не * соответствует формату даты. –