用于将 smallint 转换为 int 的数据行字段扩展方法
本文关键字:数据 字段 扩展 方法 int smallint 转换 用于 | 更新日期: 2023-09-27 18:32:38
我在SQL Server中有一列smallint
类型。我按 Ado.net 阅读了包含此字段的行。
当我得到该 SQL Server 行DataRow
时,我尝试将其转换为整数,如以下代码所示:
int value = datarow.Field<int>("myColumnName");
因为领域smallint
,我觉得应该改int
。但它抛出了一个例外,说
指定的强制转换无效.....
我不想使用Convert.ToInt32
或其他功能。我想使用数据行的字段扩展方法。我该怎么做?
编辑:
datarow.Field<int>("myColumnName"); // doesnt work
datarow.Field<Int16>("myColumnName"); // doesnt work
datarow.Field<short>("myColumnName"); // doesnt work
Convert.ToInt32(datarow["myColumnName"]) // works but i dont want it
请参阅 SQL Server 数据类型映射 (ADO.NET)。
SMALLINT
是 SQL Server 中的 16 位整数,因此它映射到 .NET 中的Int16
因此,您应该使用
Int16 value = datarow.Field<System.Int16>("MyColumnName")
读取值
使用,数据行。字段