我tinyint在数据库中有一个列,我希望将其转换Int32为SqlDataReader.
我该怎么做呢?
编辑#1
我最近不得不这样做.
int a = dataReader.GetByte(dr.GetOrdinal("ColumnName"));
Run Code Online (Sandbox Code Playgroud)
#In除了答案
SQL Server数据类型映射
bigint - GetInt64
binary - GetBytes
int - GetInt32
money - GetDecimal
rowversion - GetBytes
smallint - GetInt16
tinyint - GetByte
uniqueidentifier - GetGuid
...
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请访问 - SQL Server数据类型映射
Jon*_*eet 87
它通常会以什么方式返回 - 字节?如果是这样,只需做一个unbox然后转换:
(int)(byte) reader["column"];
Run Code Online (Sandbox Code Playgroud)
或者让转换自然发生:
int x = (byte) reader["column"];
Run Code Online (Sandbox Code Playgroud)
或者使用强类型方法执行相同的操作:
int x = reader.GetByte(column);
Run Code Online (Sandbox Code Playgroud)
如果我错误地将其映射到,请将其调整为sbyte或short等等byte.您可以在SQL Server端进行转换,但我个人会在客户端进行转换,并保持SQL更简单.
| 归档时间: |
|
| 查看次数: |
70360 次 |
| 最近记录: |