以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请看看出现这个错误我该怎么改?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54227)

--  作者:heying325
--  发布时间:2014/7/24 8:39:00
--  请看看出现这个错误我该怎么改?
代码是借鉴帮助文档里的,代码如下:
Dim nmyc as string 
For Each dr As DataRow In DataTables("主表").DataRows    
    Dim dt2 As Date = dr("上牌日期")
    
    Dim dt1 As New Date(Date.Today.Year,dt2.Month,dt2.Day)
    If dt1 >= Date.Today AndAlso dt1 < Date.Today.AddMonths(1) Then
        nmyc = nmyc & ",\'" & dr("VIN") & "\'"
    End If    
Next
跳出这个错误。意思倒挺明显,但不知道怎么改?

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140724083300.jpg
图片点击可在新窗口打开查看


--  作者:Bin
--  发布时间:2014/7/24 8:43:00
--  
你参数可能有误

你弹出一下 dt2.month  和dt2.day 看看.

--  作者:heying325
--  发布时间:2014/7/24 8:55:00
--  
那个日期列里面 有空值。。当为空值的时候弹出来的就都是 1
--  作者:有点甜
--  发布时间:2014/7/24 9:09:00
--  

 你判断一下空值不参与运算即可

 

 If dr.IsNull("上牌日期") = false Then


--  作者:heying325
--  发布时间:2014/7/24 10:08:00
--  
我将日期列截取下来做了个例子。。在执行窗口里面执行如下代码:
Dim nmyc As String
For Each dr As DataRow In DataTables("主表").DataRows

    Dim dt2 As Date = dr("上牌日期")
    If dr.IsNull("上牌日期") = False Then
        Dim dt1 As New Date(Date.Today.Year,dt2.Month,dt2.Day)
        If dt1 >= Date.Today AndAlso dt1 < Date.Today.AddMonths(1) Then
            nmyc = nmyc & ",\'" & dr("_Identify") & "\'"
        End If
        
    End If
Next

仍旧跳出那个错误,也不知道哪里出问题了!!求大大们帮忙看看!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


--  作者:有点甜
--  发布时间:2014/7/24 10:25:00
--  

 2月29日的问题

 

Dim nmyc As String
For Each dr As DataRow In DataTables("主表").DataRows
    If dr.IsNull("上牌日期") = False Then
        Dim dt2 As Date = dr("上牌日期")
        If dt2.Month = 2 AndAlso dt2.Day = 29 AndAlso Date.IsLeapYear(Date.Today.Year) = False Then
            dt2 = new Date(Date.Today.Year,dt2.Month, 28)
        Else
            dt2 = new Date(Date.Today.Year,dt2.Month,dt2.Day)
        End If
        If dt2 >= Date.Today AndAlso dt2 < Date.Today.AddMonths(1) Then
            nmyc = nmyc & ",\'" & dr("_Identify") & "\'"
        End If
       
    End If
Next