我有一个表,它有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
。
第2版:
我将StartTime
属性设置为string
而不是DateTime
,并成功插入。这会影响以后该字段的有效性吗。
DateTime date = DateTime.Parse("10:45");
它对我有效,我认为你需要检查记录[1]中存储的值是多少
我认为这对您有帮助:
prd.StartTime = DateTime.Parse(record[1].ToString());
DateTime.Parse("10:45")
完全有效。但是,它将生成一个DateTime
的实例,其中包含今天的日期和您解析的时间。
但是,您遇到的错误可能是由于您使用的数据库希望将日期存储为数字。