oracle中NUMBER(1,0)的字段如何映射到c#中
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);
}
}