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

Teb*_*ebo 9 c# sql sql-server

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

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

更新#1

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

ame*_*vin 10

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

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

int intFromSmallInt = Convert.ToInt16(smallint);
Run Code Online (Sandbox Code Playgroud)

错误来自ORM吗?


Mik*_*Vee 9

还有C#DataType" short ",它是System.Int16(在SQL Server中又名" smallint ").

我更喜欢使用"短",因为我认为它看起来更酷,没有其他原因.

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

short? sVal = dr["ColName"] is System.DBNull ? null : (short?)(dr["ColName"]);
Run Code Online (Sandbox Code Playgroud)

  • 我更喜欢“短”数据类型而不是结构“System.Int16”。Int16 是一个别名为short 的结构。您使用其中任何一个都可以。我并不是说我更喜欢 Short 而不是 int - 这显然是错误的。 (2认同)