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 

Posted by 준콩ol 준콩ol

댓글을 달아 주세요