FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[3019] Re:Re:아래 특정 필드 문제 이상 제기했던 사람입니다.
초보 [] 2592 읽음    2009-02-27 14:29
델파이의 NOW를 생각하시는 모양입니다.

FORMATDATETIME('YYYYMMDD', NOW);

그런데 저는 문자열로 감싼 'NOW'를 말씀드린겁니다.

QUERY1.SQL.TEXT := 'INSERT  INTO  TABLE_NAME (..., SAVETIME) VALUES (..., 'NOW')';

그리고 EXECSQL로 실행 시키고 COMMIT 합니다.


까막.윤창희 님이 쓰신 글 :
: 초보 님이 쓰신 글 :
: : 계속 이상한 일이 벌어지고 있습니다.
: :
: : ㅠ.ㅠ
: :
: : 그런 현상은 계속 발생되고 있구요. 오늘 한가지 더 이상한 점을 발견했습니다.
: :
: : 제가 잘 몰라서 그런건지는 모르겠지만, 클라이언트에서 데이터를 저장할때
: :
: : INSERT  INTO  TABLE_NAME (..., SAVETIME) VALUES (..., 'NOW');
: :
: : 이런식으로 쿼리문을 날립니다.
: :
: : 오늘 잠깐 서버를 들여단 본 결과를 보자면 이 SAVETIME 이라는 필드에 '2009-02-06'일이 저장이 되었다는겁니다.
: :
: : 제가 마지막으로 데이터 보정 봐 준것이 '2009-02-15'일 인데요
: :
: : 분명이 그 이후에 저장된 데이터의 날짜에 버젓이 훨씬 오래전 날짜가 저장이 되었다는 겁니다.
: :
: : 'NOW'가 서버의 시간을 가져다가 저장하는것 맞죠?
: :
: : 당근 SAVETIME 필드는 TIMESTAMP로 정의되어 있습니다.
: :
: : 제가 뭘 잘못 한걸까요?
: :
: : 참고로 서버는 IBM으로 x3500, CPU는 xeon E5430 Quad Core 2.66GHz
: :
: : 이렇게 구성되어 있습니다.
:
: 안녕하세요. 까막입니다.
:
: 일단 DB 는 Firebird 라는 가정하에.
: 위 Now 는 델파이 코드 내에서 날짜를 가져오는 거지, Firebird DB 에서 먹히는 문장은 아닙니다.
: Firebird 에서는 CURRENT_DATE, CURRENT_TIMESTAMP 등을 쓰죠.
: 그러니, 델파이에서 날짜 데이터를 추출해서 SaveTime 이라는 필드값으로 넣어주는 형식이겠죠.
:
: 이 경우, 프로그램을 실행하는 컴퓨터의 날짜를 가져오게 됩니다.
: 실행 컴퓨터의 날짜가 어떤 이유에서건 예전 날짜로 되어 있었다면 그 날짜값으로 입력을 하게되는 거죠.
: 물론 위에서 CURRENT_DATE, CURRENT_TIMESTAMP 를 쓴다고 해도 서버컴의 날짜가 잘못 되어 있으면 잘못된 날짜가 들어가겠죠.
:
: SaveTime 필드 속성에 Default 로 CURRENT_TIMESTAMP 설정을 하고요.
: 입력 처리시에 SaveTime 필드는 아예 빼버리세요.
: 오류를 최대한 막는 길입니다.
: 참, NOT NULL 설정도 하시는게 좋겠죠.
:
: 서버 날짜가 잘못 변경되는 일이 없으시도록 관리도 하셔야 할거고요.
:
: 설계시에 이런 부분을 빼먹지 않도록 유의하시는게 좋겠죠.
:
:
:
:                                                                          위대한 단군혼이 살아있는 나라.... 대한민국.

+ -

관련 글 리스트
3016 아래 특정 필드 문제 이상 제기했던 사람입니다. 초보 2249 2009/02/21
3018     Re:아래 특정 필드 문제 이상 제기했던 사람입니다. 까막.윤창희 2186 2009/02/24
3019         Re:Re:아래 특정 필드 문제 이상 제기했던 사람입니다. 초보 2592 2009/02/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.