1。 先在oracle中试了一下,这种类型的数据的取值范围,0~15。意思是说它是一个HEX的一个单元。二进制4bit
2。 然后查了查相关的资料,因为我试了几种类型都不行,
Oracle数据类型与.NET中的对应关系
按这个表格,<=4,所以应当是Int16
事实证明,的确是可行的。
3。 相关的代码
调用代码
Int16 myval = ConvertRecordValueWithName<Int16>(item[3], "mynumber_1");
库代码
private T ConvertRecordValueWithName<T>(object value,string rename){try{if (Convert.IsDBNull(value)) //这里比较巧妙,如果 为null,则return default value{if (typeof(T) == typeof(String)){return (T)(object)string.Empty;}return default(T);}else{return (T)value;}}catch (System.Exception ex){MyErrExcu.E1(ex, rename);return default(T); }}