❗ 문제
btnClick 메서드가 실행되면 먼저 delete 프로시저가 한 번 실행되어 해당 연도의 데이터를 전부 지우고 그다음 업로드할 엑셀의 데이터를 insert 하는 메서드를 구현하는 작업을 진행했다. 진행하는 도중 delete는 정상적으로 되면서 insert 차례에서 오류 메시지 하나 없이 데이터가 들어가지 않는 일이 생겼다. if에서 걸렸거나 프로시저가 잘못되었다고 생각했는데 결론은 둘 다 아니었다.
💡 해결
먼저 해결방법은 Substring으로 문자열을 잘라주는 것이었다.
Substring이면 String은 받을 수 있다는 이야기인데 yyyy-mm-dd 형태의 문자열을 trim 했을 때는 안되더니 Substring했을 때는 된 이유가 몰 .. 가 .. ?
첫 번째로 yyyy-mm-dd 뒤에 더 붙어서 오는 게 있어서가 아닐까?라고 생각했다.
엑셀에선 날짜만 입력되어있는데 insert 직전 값을 확인해보니까 정말 날짜 외에 시간도 붙어서 나왔다.
의아해서 자료형을 확인해보니 DateTime이었다.
아무래도 엑셀의 셀 서식이 일반이 아닌 날짜로 인식되면서 자료형이 String이 아닌 DateTime으로 받아지고 따라서 시간이 붙어 들어온 것 같다.
다행히 날짜 부분만 Substring으로 자르니 값이 제대로 들어가는 것을 확인하며 마무리할 수 있었다.