C#Web服务为oracle日期时间返回无效的强制转换

时间:2013-12-06 10:10:27

标签: c# oracle web-services datetime

循环遍历从webservice返回的引用游标, 我有一个类我想要最终作为列表返回的对象,我将每个记录从光标添加到此列表。 该类中的一个字段应该是DateTime:

[DataMember(Order = 5)]
    public DateTime StartDate
    {
        get;
        set;
    }

但是当我在读取循环中执行此行时,我收到了无效的强制转换错误

pe.StartDate = reader.GetDateTime(4);

如果我将类中的类型更改为字符串并执行GetString而不是它可以正常工作,返回dd / mm / yyyy,但我宁愿返回正确的Oracle日期时间。 关于如何使其发挥作用的任何提示?

感谢

1 个答案:

答案 0 :(得分:1)

将其作为字符串读取,然后将其转换为正确的值:

pe.StartDate = DateTime.Parse(reader.GetString(4), new CultureInfo("fr-FR"));

当然,您可以将法国文化替换为“dd / mm / yyyy”为标准日期格式的文化。