试图找出如何将此zip字符串转换为int。我得到一个演员异常:
member.Zip = reader.GetInt16(ordinals[(int)Enums.MemberColumn.Zip]);
更新:
谢谢大家。这就是我提出的对我有用的东西:
Int32.TryParse(reader.GetString(ordinals[(int)Enums.MemberColumn.Zip]), out number) ? number : 0;
答案 0 :(得分:1)
您需要将其作为字符串获取,然后解析该字符串:
string zipString = reader.GetString(ordinals[(int)Enums.MemberColumn.Zip]);
member.Zip = Int16.Parse(zipString);
DataReaders期望字段的基础类型与您调用的特定方法相同。所以GetInt16需要一个底层的16位整数,GetBoolean需要一个底层位,而GetString需要一个底层字符串。它不会为你做任何转换。
答案 1 :(得分:0)
member.Zip = Convert.ToInt16(reader.GetString(ordinals[(int)Enums.MemberColumn.Zip]));