如何在标签表单中比较MS Access列“时间”中的日期。 继承我的代码
Dim sql = "Select CompanyCode From LAPostingCoCode where CompanyCode = '" + ComboBox1.text"' AND User = '" & txtuser.text & "' AND Time = '" & LblTime.text & "'"
Using Olecon As New OleDbConnection(cons)
Using command as new OleDbDCommand(sql,olecon)
Using adapter as New OleDbDataAdapter(command)
Dim Table As New DataTable()
adapter.Fill(table)
If (table.Rows.Count > 0 ) Then
btnSave.Enabled = false
Else
btnSave.Enabled = true
End If
End Using
End Using
End using
我想将数据库列中的日期和时间与表单标签当前日期和时间进行比较。因此,如果数据库中的日期和时间是02-02-18 4:42:01,而我的标签是02-02-18 05:02:31。按钮保存将启用= true,因为时间几乎是下午5点。当4:42:01等于时间标签。保存按钮仍然启用= false。
我正在使用vb.net和MS访问。请帮帮我。感谢
答案 0 :(得分:0)
该代码可让您比较两个日期,请根据需要修改代码:
'Assuming your date is formatted as : dd/mm/yyyy
Dim date1 = DateTime.Parse("02/05/2018")
Dim date2 = DateTime.Parse("03/07/2018")
If date1.Date >date2.Date Then
End if
现在举例来说,例如,您想要将表格的dateTime列与label
的日期(我的意思是.text)进行比较,请执行此操作“
Dim dt1 = DateTime.Parse(yourDataTable(0)(3)) 'Here 0 is the row count and 3 is the column count
'Follow the first code block's code now :)
建议:请不要在Select
语句中使用直接值,因为它打开了Sql-Injection的大门。
相反,传递参数并使用SqlCommand
传递值:
Dim cmd as new SqlCommand("Select CompanyCode From LAPostingCoCode where CompanyCode = @code",connection)
cmd.Parameters.Add("@code",SqlDbType.VarChar).Value = ComboBox1.text
并且请使用Parameter.Add
方法,大多数人使用AddWithValue
这不是正确的方法。因为在某些时候,它可能不会导致错误/可能不会与数据冲突,但在大多数情况下它会损坏原因在于,它将数据库类型推断为查询参数。
希望这会有所帮助:)