因此,我尝试选择具有特定日期范围ex的记录。 5/21/2019-5/30/2019并将记录放入datagridview。
我正在使用Access女士,而且我对SQL并不了解很多。
DA = New OleDb.OleDbDataAdapter("SELECT * FROM table where date >= " & DateValue(FirstDate) & " AND date <= " & DateValue(SecondDate) & "", conn)
DS = New DataSet
DS.Clear()
DA.Fill(DS, "table")
DataGridView1.DataSource = DS.Tables("table")
它没有给我错误信息,但是datagridview没有显示任何内容。感谢您的答复
答案 0 :(得分:0)
在MS Access中,日期定界符是井号(#)。
因此必须将查询更改为:
"SELECT * FROM table where date >= #" & DateValue(FirstDate) & "# AND date <= #" & DateValue(SecondDate) & "#"
或者您使用“ between”运算符:
"Select * FROM table WHERE [Date] Between #" & DateValue(FirstDate) & "# and #" & DateValue(SecondDate) & "#";
答案 1 :(得分:0)
一种更好的处理方法是简单地使用许多程序员通常推荐的参数。
da = New OleDb.OleDbDataAdapter("SELECT * FROM table where date >= @StartDate AND date <= @EndeDate ", conn)
'If you show how you declare and set FirstDate and SecondDate we can drop the DateValue function'
da.SelectCommand.Parameters.Add("@StartDate", OleDb.OleDbType.Date).Value = DateValue(FirstDate)
da.SelectCommand.Parameters.Add("@EndeDate", OleDb.OleDbType.Date).Value = DateValue(SecondDate)
ds = New DataSet
DS.Clear()
DA.Fill(DS, "table")
DataGridView1.DataSource = DS.Tables("table")
答案 2 :(得分:-1)
选择ID FROMTestInfo “ 2012-03-27”和“ 2012-03-28”之间的CapturedDate