試過轉型成 String 沒甚麼問題, 但就是轉成 Enum 型別會出錯
後來發現因為都是用下標運算子去存取 DataReader, 所以拿到的型別是 Object
而在 DataBase 中存取的整數欄位型別是 TinyInt, 也就是 byte 型別
經過實驗才發現, 原來 Object 中存放 byte 型別時, 不能直接轉型成 Enum
Object 只有存放 int 型別時才能直接轉型成 Enum
public enum E { E1 } byte b = 1; Object o = b; E e = (E)o; // Exception!! int i = 1; o = i; E e = (E)o; // Works find!
沒有留言:
張貼留言