从字符串“9/18/2013”​​到“日期”类型的转换无效

时间:2013-09-07 16:54:06

标签: asp.net sql vb.net

我正在开发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”​​到“日期”类型的转换无效

3 个答案:

答案 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对象,以便能够将其与DateTimecontract_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