ProgramingTip

t-sql의 "tinyint"를 C #에서 정수로 어떻게 변환 할 수 있습니까?

bestdevel 2020. 12. 12. 12:12
반응형

t-sql의 "tinyint"를 C #에서 정수로 어떻게 변환 할 수 있습니까?


나는이 tinyint데이터베이스에 열 Int32을 내가 로 변환 할 을 위해 SqlDataReader.

어떻게해야합니까?

편집 # 1

나는 최근에 가지고 있어야했다.

int a = dataReader.GetByte(dr.GetOrdinal("ColumnName"));

# 답변에 추가

SQL Server 데이터 형식 매핑

bigint           - GetInt64  
binary           - GetBytes  
int              - GetInt32  
money            - GetDecimal  
rowversion       - GetBytes  
smallint         - GetInt16  
tinyint          - GetByte  
uniqueidentifier - GetGuid   
...

자세한 내용은 -SQL Server 데이터 형식 매핑을 참조하십시오.


일반적으로 바이트로 반환되는 것은 무엇입니까? unbox를 한 다음 변환하십시오.

(int)(byte) reader["column"];

또는 변환이 일어나도록하십시오.

int x = (byte) reader["column"];

또는 강력한 형식의 메소드로 작업을 수행하십시오.

int x = reader.GetByte(column);

관리자 조정 sbyte또는 short매핑하는 것이 잘못되면 무엇이든 조정하십시오 byte. SQL Server 측에서 변환을 수행 할 수 있도록 개인적으로 클라이언트 측에서 수행하고 SQL을 더 단순하게 유지합니다.


Tiny Int 문제를 처리하기 위해 항상 "SByte"사용


int RetValue;
RetValue = (int)(byte)dt.Rows[A][B]  // A = RowNo , B = 'tinyint' Column Name.

SQL 테이블에서 tinyint를 얻으려면 다음을 수행하십시오.

retorno = Convert.ToInt32(dr.GetByte(dr.GetOrdinal("StepStatus")));

여기서 retorno는 int 변수입니다.

도움이 되셨기를 바랍니다.

참고 URL : https://stackoverflow.com/questions/1922094/how-can-you-convert-tinyint-of-t-sql-to-integer-in-c

반응형