Q&A

  • 다음 SQL문 좀 보고 지적해 주세요
If Code = 2 then begin
  _sql := ' UPDATE WATER SET ' + FName + ' = ' + 'TO_DATE('+''''+ fvalue +''''+','+'''yyyy-mm-dd'')';
        
           with DModule.qryTemp do begin
                 Close;
                 SQL.Clear;
                 SQL.Add(_sql);
                 ShowMessage(_sql);
                 ExecSQL;
               end ;
위와 같은 코딩을 짜서 실행했더니 SQL문 문법상의 오류라고 나타납니다..
showmessage(_sql) 했더니
Update Water Set Date = TO_DATE('2003-10-11' , 'YYYY-MM-YY') Where Pipe_ID = 'W0001'
이렇게 나오거든요.
어느 부분이 잘못되었는지 지적 좀 해 주세요..
FVALUE는 스트링변수로 DBEDIT의 내용을 받아옵니다.. 받아올때 형태가  'YYYY-MM=DD' 형태로
예를 들면 '1999-12-12' 이런 식으로 날짜형태의 모양으로 받습니다.
이것을 DATE형태로 바꾸어서 MDB에 저장하려고 하는데요. SQL문 틀리부분 좀 지적해 주세요..
4  COMMENTS
  • Profile
    major 2003.09.20 00:59


    근데 이거 MDB라고 하셨나요?
    근데 문법이 오라클 같은 느낌이 드네요..
    어쨌든 저두 MDB 많이 만져 보지는 않았지만.. 걍 짐작으로 나마 말씀을 드리자면..
    Update Water Set Date = TO_DATE('2003-10-11') Where Pipe_ID = 'W0001'

    이렇게 하시는 것이 맞지 않을까요?

    아님 Update Water Set Date = DATE('2003-10-11') Where Pipe_ID='W0001'

    이렇게 하시는 것이 맞을 것 같네요...

    그럼 즐프하세염...
  • Profile
    김진효 2003.09.20 01:06
    to_date는 오라클에서 사용하는 함수라 되지 않더군요
    그래서 access에서 직접쿼리를 작성해서 해보니 되더라구요

    Update Water Set Water.Date = #2003-10-11# where Pipe_id = 'W0001'

    이렇게 하니 업데이트가 되었습니다. 다른 sql과는 좀 다르게
    날짜를 구분하는데 있어서 #을 이용하더군요..
    답변고맙습니다.. 수고하세용~~
  • Profile
    major 2003.09.19 18:54
    안녕하세여..

    ^^;;

    근데 아무리 고수래도 이건 좀 모를것 같네요...

    변수가 있는 값 말구요
    차라리 ShowMessage 찍는 부분에 내용을 여기 사이트에 올리시면 금방 답을 해 주실 것 같네요...

    님두 변수만 올려 놓고 누가 SQL봐 달라고 하면 잘 모르자나요...

    그럼 즐프하세염..
  • Profile
    김진효 2003.09.19 19:21