在C#中,当我从MSSQL数据库检索到tinyint时,我使用以下转换方式。
(int)(byte)reader["MyField"];
然而,在MySQL中似乎无法使用该语句。
我尝试过的方法:
(byte)reader["MyField"];
并且只需这样做。
(int)reader["MyField"];
编辑1
异常
The specified cast is not valid.
编辑2
这是一种数据类型。
{Name = "SByte" FullName = "System.SByte"}
reader["MyField"] + 0;
吗? - Hans Zobject + int
,其中没有匹配的+
运算符。 - user166390int.Parse(reader["MyField"].ToString());
吗? - Hans Zbyte
、int
、double
、float
或long
,然后可以将其转换为int。第二种方法物理上获取对象的ToString()
,如果针对您的对象类型正确实现,则应返回一串数字字符串,int.Parse
应该能够读取为int
。这些方法不需要了解数据类型是什么,而是使用(可能效率低下的)特定于类型的方法。 - Hans ZNullable<T>
。 - Hans Z