帮助日期格式
问题描述:
Dim Con As OleDb.OleDbConnection
Dim Sql As String = Nothing
Dim Reader As OleDb.OleDbDataReader
Dim ComboRow As Integer = -1
Dim Columns As Integer = 0
Dim Category As String = Nothing
Dim oDatumMin As Date
Dim column As String
column = Replace(TxtDateMax.Text, "'", "''")
'oDatumMin = Convert.ToDateTime(TxtDateMin.Text)
oDatumMin = DtpMin.Value
Dim oPath As String
oPath = Application.StartupPath
' Select records.
Con = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & oPath & "\trb.accdb;")
Dim cmd As New OleDb.OleDbCommand
'Dim data_reader As OleDbDataReader = cmd.ExecuteReader()
Sql = ("SELECT * FROM " & cmbvalue & " WHERE Datum>='" & oDatumMin & "'")
cmd = New OleDb.OleDbCommand(Sql, Con)
Con.Open()
Reader = cmd.ExecuteReader()
Do While Reader.Read()
Dim new_item As New ListViewItem(Reader.Item("Datum").ToString)
new_item.SubItems.Add(Reader.Item("Steleks i krpe za cišcenje-toal papir-ubrusi-domestos").ToString)
new_item.SubItems.Add(Reader.Item("TEKUCINA ZA CIŠCENJE PLOCICA").ToString)
new_item.SubItems.Add(Reader.Item("KESE ZA SMECE").ToString)
new_item.SubItems.Add(Reader.Item("OSTALO-džoger-spužva za laminat").ToString)
new_item.SubItems.Add(Reader.Item("PAPIR").ToString)
LvIzvjestaj.Items.Add(new_item)
Loop
' Close the connection.strong text
Con.Close()``
从组合框
当我选择表,(cmbvalue),当我从日期时间选择器(DTP),或在texbox最后一种情况下转换为日期和时间SQL选择日期看起来像这样“SELECT * FROM Uprava WHERE Datum> ='2.6.2010 10:28:14'” 并且所有查询都看起来不错但正在创建帮助日期格式
标准表达式中的数据类型不匹配。日期(oDatumMin)错误时执行 列中的访问也设置为日期 我不知道还有什么要尝试
答
我怀疑这是一个本地化问题。尝试改变日期格式,以一个应该被普遍承认:什么是您的服务器的语言环境/代码页]
SELECT * FROM Uprava WHERE Datum >='2010/06/02 10:28:14'
答
Dim sql As String = "SELECT * FROM MyTable WHERE Datum >= ?"
Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(sql)
cmd.Parameters.Add(New OleDb.OleDbParameter("@Datum", OleDb.OleDbType.Date))
cmd.Parameters("Datum").Value = oDatumMin
是,还是要更安全,使用'YYYY-MM-DD'作为日期,即使错误地将年份写成2位数字,也不能误认为是错误的格式,并且符合ISO 8601。 – 2010-06-02 11:40:04