【发布时间】:2011-06-22 14:57:22
【问题描述】:
我有一个表,其中包含starttime 字段。此字段类型为DateTime,我将其配置为(Hour to Minute) in Specials,因为我只想以这种格式存储时间。
例如:10:45
现在在我的代码中: 我有以下问题:
prd.StartTime = DateTime.Parse(record[1]);//.ToString("H:m"));
After Tracing: `StartTime = 6/22/2011 10:45:00 AM`
当我在这个表中插入一条记录时,我得到以下异常:
IBM.Data.Informix.IfxException: ERROR [22008] [Informix .NET provider][Informix]
Non-numeric character in datetime or interval.
编辑:
当我为该字段启用default value 并尝试在没有starttime 的情况下插入,并选择我发现它的值是17:48,当我再次将Special 更改为Year 时,默认值是2011-06-22 17:48:00。
EDIT2:
我将StartTime 属性设为string 而不是DateTime,并成功插入。以后会不会影响这个字段的有效性。
【问题讨论】:
-
我不认为这行代码是你的问题所在。您所做的只是将变量 startTime 设置为今天上午 10:45 的日期。您实际上是如何将数据插入数据库的?
-
是的,但是
DateTime类型的数据库中的这个字段。但是我在Special功能中指定为(Hour To Minute)这部分。 -
你能说
record[1]的值是多少吗? -
然后我想把它存储为时间
-
因为如果我将它设为
varchar类型,如果我对其进行操作,它将被视为字符串,我会得到错误的数据。
标签: c# asp.net datetime informix