我正在开发asp.net 4.0中的网络应用程序。在数据输入屏幕上,我检查了合同到期日, 所以我使用if条件检查合同是否已过期。 这是我的代码
If dr_customer.Item("contract_T") < Me.txt_dateissue.Text Or dr_customer.Item("contract_F") > Me.txt_dateissue.Text Then
Me.lab_error.Text = "Contract Expire"
Exit Sub
End If
contract_F是合同开始日期,contract_T是合同结束日期(我从数据库中获取此数据) 和dr_customer是数据阅读器
当我执行应用程序并插入数据时收到此错误
从字符串“9/18/2013”到“日期”类型的转换无效
答案 0 :(得分:3)
您需要将Me.txt_dateissue.Text
转换为DateTime
才能进行比较
Dim dateIssue as DateTime = DateTime.Parse(Me.txt_dateissue.Text)
If dr_customer.Item("contract_T") < dateIssue Or
dr_customer.Item("contract_F") > dateIssue Then
答案 1 :(得分:3)
您需要将TextBox
中的文字解析为DateTime
对象,以便能够将其与DateTime
和contract_T
contract_F
个对象进行比较表示:
Dim dateIssue As Date = DateTime.Parse(Me.txt_dateissue.Text)
If dr_customer.Item("contract_T") < dateIssue Or dr_customer.Item("contract_F") > dateIssue Then
Me.lab_error.Text = "Contract Expire"
Exit Sub
End If
答案 2 :(得分:0)
以下在对日期条目进行比较之前使用CDate()
:
If dr_customer.Item("contract_T") < CDate( Me.txt_dateissue.Text) Or dr_customer.Item("contract_F") > CDate(Me.txt_dateissue.Text) Then
Me.lab_error.Text = "Contract Expire"
Exit Sub
End If