以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  该字符串未被识别为有效的 DateTime  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=42197)

--  作者:643561836
--  发布时间:2013/11/6 10:16:00
--  该字符串未被识别为有效的 DateTime
(自动编号)之前一直使用正常,今天新增行的时候弹出如下信息:



.NET Framework 版本:2.0.50727.5472
Foxtable 版本:2013.10.14.1
错误所在事件:表,订单表,DataColChanged
详细错误信息:
调用的目标发生了异常。
该字符串未被识别为有效的 DateTime。有一个从索引 10 处开始的未知字。


代码:

\'**************************************自动编号*************************************
If e.DataCol.Name = "下单日期" Then
    If e.DataRow.IsNull("下单日期") Then
        e.DataRow("订单编号") = Nothing
    Else
        Dim bh As String = Format(e.DataRow("下单日期"),"yyyyMMdd") \'取得编号的8位前缀
        If e.DataRow("订单编号").StartsWith(bh) = False \'如果编号的前8位不符
            Dim max As String
            Dim idx As Integer
            max = e.DataTable.Compute("Max(订单编号)","下单日期 = #" & e.DataRow("下单日期") & "# And [_Identify] <> " & e.DataRow("_Identify")) \'取得该天的最大编号
            If max > "" Then \'如果存在最大编号
                idx = CInt(max.Substring(12,3)) + 1 \'获得最大编号的后三位顺序号,并加1
            Else
                idx = 1 \'否则顺序号等于1
            End If
            e.DataRow("订单编号") ="DD-" & bh & "-" & Format(idx,"000")
        End If
    End If
End If




--  作者:狐狸爸爸
--  发布时间:2013/11/6 10:19:00
--  

难道你的订单日期这一列,是字符型,而不是日期时间型?

 

看看下面这一章的内容:

http://www.foxtable.com/help/topics/1485.htm

 

找出是哪一行代码出错,然后分析原因。

 

 


--  作者:643561836
--  发布时间:2013/11/6 10:37:00
--  
一直是date属性的,已经用了一个多月正常,今天才出现问题!


--  作者:狐狸爸爸
--  发布时间:2013/11/6 10:39:00
--  

先用2楼的方法分析一下吧,搞不定就做个例子后者直接发文件上来测试,告诉如何操作出现这个错误提示