프로그래밍/의문

c# + sqlite 사용 중 datetime 저장/조회에 발생한 문제

제페 2016. 7. 17. 12:53
반응형

문제

DateTime time;

string id;

//...

insert into tblTime(ID, EXPDATE) values({0}, {1}) 

과 같은 쿼리로 EXPDATE에 DateTime을 저장하려고 했었다. 그러자 DateTime이 string으로 변환되는 중 "오후" 라는 것에서 오류가 났었는데 이는 DateTime이 "2016-07-21 오후 12:00:11" 같은 형식으로 변환 되며 내가 쓰는 버전의 sqlite에서 오후라는 것을 정상적인 포맷으로 인식하지 못하는 듯 하였다.(예외에서도 "오후"라고 되어있는 게 잘못되었다고 빡! 떠주시더라 -_-;)


해결

DateTime의 포맷을 "yyyy-MM-dd HH:mm:ss" 로 바꿔서 해결했으며 변환 코드 샘플은 다음과 같다.

코드 >>

DateTime expDate = DateTime.Now;

string newFormat = expDate.ToString("yyyy-MM-dd HH:mm:ss");


++


그러나 데이터를 조회하는(select) 구문에서 인식할 수 없는 DateTime 포맷이라며 예외가 발생했는데, 이전에 이상한 DateTime이 저장되어 발생한 문제였으며 그 데이터들을 지우고 다시 조회하는 것으로 해결하였다. 

반응형