如何在c#中将smallint的t-sql转换为整数?

时间:2010-12-15 11:36:19

标签: c# sql sql-server

我在将t-sql中的smallint转换为C#中的整数时遇到问题。

请有人帮我解决这个问题吗?

更新#1

我真正想做的是从sqlserver 2005中标记为smallint的列中的数据从datareader中检索到我的应用程序中。对不起,我以前不太清楚。

3 个答案:

答案 0 :(得分:10)

不太确定您遇到了什么问题,因为smallint中的数字范围是整数值范围的一个子集。

c#中的标准转换应该有效:

int intFromSmallInt = Convert.ToInt16(smallint);

错误是来自ORM吗?

答案 1 :(得分:8)

还有C#DataType“ short ”,它是System.Int16(SQL Server中的a.k.a.“ smallint ”)。

我更喜欢使用“短片”,因为我觉得它看起来更酷,没有其他原因。

另外,我会使用以下内容来提取您的数据(如果它可以为空):

short? sVal = dr["ColName"] is System.DBNull ? null : (short?)(dr["ColName"]);

答案 2 :(得分:-4)

int? value = (int?)(row["ColumnName"] as short?);