Language/C#
ASP.NET 계층형 게시판 캐스팅 에러(캐스트가 잘못되었습니다)
준콩이
2013. 1. 25. 17:27
반응형
ASP.NET 계층형 게시판(태오닷넷) 예제 진행 중
오라클을 연동하여 예제를 진행하는 개발자들은
"invalidcastexception : 캐스트가 잘못되었습니다."
라는 에러가 발생할 경우가 있습니다.
int depth = (int)((DataRowView)e.Item.DataItem)["depth"];
구문에서 오류가 발생하는데.
MSSQL에서는 INTEGER 타입의 데이터를 위의 구문처럼
int형으로 형변환이 바로 가능하지만,
오라클(ORACLE)의 NUMBER 타입의 값을
위의 구문처럼 형변환을 할 때 에러가 발생합니다.
결론은
아래와 같이 decimal 형태(십진수)로 캐스팅 후
int형으로 형변환을 하면 오류가 발생하지 않습니다.
int depth = (int)(decimal)((DataRowView)e.Item.DataItem)["REP_LEVEL"];
위의 내용은 없지만. 캐스트 에러 예외 클래스(invalidcastexception) 관련 MSDN 웹페이지입니다.
http://msdn.microsoft.com/en-us/library/system.invalidcastexception.aspx
반응형