한창 늦더위에 다덜 수고가 많으십니다.
지금 델파이공부를 열심히 하고 있는데영
날짜 형식을 디비에 넣고 있는데 막히네영.
디비서버는 mssql7.0입니다.
간단히 날짜를 입력 하면 잘 들어 가는데영.
만약에 날짜를 입력 하고 싶지 않을때 문제가 생기거든요.
날짜를 입력 하는곳은 maskedit 이고요.
물론 형식은 9000-90-00;1;_ 이겠죠.
mssql의 날자를 입력 할려고 하니...
(-)문자까지 입력을 해주어야만 해서 위와 같이 썼습니다.
물론 위에 같은 형식으로 입력 하면 잘 들어가죠.
그러나 문제는 입력을 안할때가 문제더군요.
에디트포멧이 위와 같이 적어 놓아 버리니깐..
공란을 적어주면 null 이 되는것이 아니라.
' - - ' 이런식으로 들어가버리니..
당연히 에러가 발생..
즉 ' - - ' 이란 형식은 date형식이 아니라는 말이죠.
위와 같은 문제를 어캐 해결 해야 하나요.
참고로 쿼리는 Parambyname('aaa').AsDateTime := strtoDatetime(maskedit1.text);
라는 식입니다.
혹시 다른 컴퍼넌트를 이용하면 어캐 되는지요.
어떠한 방법이라도 좋으니
고수님들 고견을 펼쳐 주세요.
또 참고로 날짜에는 null 을 넣어 주고 싶을때 무조건 null 이들어가야 합니다.
예를 들어 오늘의 날짜를 넣는다는지 하면 안되겠죠.
edit1에는 년도
edit2에는 월
edit3에는 일
이렇게 입력 해서 세개의 에디트 박스를 합쳐서 SQL문에 대입하면 되겠죠..
Parambyname('aaa').AsDateTime := strtoDatetime(edit1.text+edit2.text+ edit3.text);
그리고 Null값을 입력하려면.. 필드의 초기값을 Null로 주고
입력받은 값이 Null 아닐때만 Insert함 되겠죠..
chobo of chobo wrote:
> 한창 늦더위에 다덜 수고가 많으십니다.
> 지금 델파이공부를 열심히 하고 있는데영
> 날짜 형식을 디비에 넣고 있는데 막히네영.
> 디비서버는 mssql7.0입니다.
>
> 간단히 날짜를 입력 하면 잘 들어 가는데영.
> 만약에 날짜를 입력 하고 싶지 않을때 문제가 생기거든요.
>
> 날짜를 입력 하는곳은 maskedit 이고요.
> 물론 형식은 9000-90-00;1;_ 이겠죠.
> mssql의 날자를 입력 할려고 하니...
> (-)문자까지 입력을 해주어야만 해서 위와 같이 썼습니다.
> 물론 위에 같은 형식으로 입력 하면 잘 들어가죠.
>
> 그러나 문제는 입력을 안할때가 문제더군요.
> 에디트포멧이 위와 같이 적어 놓아 버리니깐..
> 공란을 적어주면 null 이 되는것이 아니라.
> ' - - ' 이런식으로 들어가버리니..
> 당연히 에러가 발생..
> 즉 ' - - ' 이란 형식은 date형식이 아니라는 말이죠.
>
> 위와 같은 문제를 어캐 해결 해야 하나요.
>
> 참고로 쿼리는 Parambyname('aaa').AsDateTime := strtoDatetime(maskedit1.text);
> 라는 식입니다.
>
> 혹시 다른 컴퍼넌트를 이용하면 어캐 되는지요.
> 어떠한 방법이라도 좋으니
> 고수님들 고견을 펼쳐 주세요.
>
> 또 참고로 날짜에는 null 을 넣어 주고 싶을때 무조건 null 이들어가야 합니다.
> 예를 들어 오늘의 날짜를 넣는다는지 하면 안되겠죠.
>
>
>