0

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

4

3 回答 3

3

您需要转换Me.txt_dateissue.TextDateTime才能进行比较

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
于 2013-09-07T16:58:50.103 回答
3

您需要将您的文本解析TextBox为一个DateTime对象,以便能够将其与代表的DateTime对象进行比较:contract_Tcontract_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
于 2013-09-07T16:59:01.330 回答
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
于 2013-09-08T01:48:51.350 回答