-
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이 저장되어 발생한 문제였으며 그 데이터들을 지우고 다시 조회하는 것으로 해결하였다.
반응형'프로그래밍 > 의문' 카테고리의 다른 글
[c++] 람다 캡쳐 시 캡쳐된 값은 어디에 생성되는가 (0) 2016.08.17 비쥬얼 스튜디오에 tcmalloc 간단 적용 (0) 2016.07.22 c++ 파일 저장 시 로케일로 인한 깨짐 문제 (2) 2016.07.05 InvalidOperationException "No current now" error (0) 2016.06.19 반환된 임시 개체 사용으로 인한 종종 프로그램이 터지던 문제 (0) 2016.06.15