2010-08-18 3 views
0

좋은 하루. DB2 데이터베이스에 연결하기 위해 OLEDB 연결을 사용하고 있습니다. .NET 내부의 데이터베이스에서 날짜를 매핑하는 데 문제가 있습니다. 내 비즈니스 오브젝트에서유효하지 않은 CAST (OLEDB 날짜)

은 내가 private DateTime _genftmdpdate=DateTime.MinValue; 를 정의하지만 데이터베이스에서 날짜를 가져오고 내 변수 안에 채울 때마다 나는하지 않는 지정한 캐스트 유효하지 않습니다 오류가

myftModInstall.genFtMDPDate = myRecord.GetDateTime(myRecord.GetOrdinal("GENFTMDPDATE")) 

제발 도와주세요 얻을 항상 문자열로 날짜를 변환하고 싶습니다.

편집 은 ---이뿐만 아니라 myftModInstall.genFtMDPDate = Convert.ToDateTime(myRecord.GetType((System.Data.OleDb.OleDbType.Date)(myRecord.GetOrdinal("GENFTMDPDATE"))));

답변

0

일을 당신이 값을 검색 할 시도하기 전에 NULL을 확인 있는지 확인하지 않습니다.

if(!myRecord.IsDBNull(myRecord.GetOrdinal("GENFTMDPDATE")) 
    myftModInstall.genFtMDPDate = myRecord.GetDateTime(myRecord.GetOrdinal("GENFTMDPDATE")); 
+0

안녕 내가 정확히 수행 한

convert date time to char=FALSE 

이 질문을 참조하십시오. 문제를 해결하지는 못합니다. 문제는 datatabase 'myRecord.GetDateTime'에서 날짜를 가져 오는 것입니다. myRecord.GetString으로 변경하면 작동하지만 그 다음에는 전체 변환을 수행해야합니다. –

+0

데이터베이스 열의 SQL 데이터 형식은 무엇입니까? –

+0

데이터베이스에 DATE 유형입니다. 하지만 필자는 myrecord.GetDate에서 날짜로 읽을 수 없다. GetString은 작동합니다. –

관련 문제