2010-01-25 3 views
0

다음 시나리오가 있으며이 문제를 해결하는 방법에 대한 조언을 주시면 감사하겠습니다.고유 번호를 사용하여 datetime 필드에 값 저장

DateTime 필드 인 필드가 포함 된 데이터베이스 응용 프로그램이 있습니다. 우리는 과거에이 필드를 사용 해본 적이 없지만 지금은 100 번 설치 한 후에이 필드를 사용해야하지만 DateTime 필드가 없어야합니다.

데이터베이스를 변경하기위한 스크립트를 만들 수 있지만 너무 많은 작업이 필요합니다.

필드는 고유 한 값을 저장해야하며 고유 한 숫자를 가져 와서 dateTime 필드 (double 값)에 저장할 수 있는지 여부를 궁금합니다.

function Unc(s: string): UInt64; 
    var 
    x: Integer; 
    begin 
    Result := 0; 
    for x := 1 to Length(s) do 
     Result := Result + ((Ord(s[x])) shl ((x - 1) * 8)); 
    end; 

과 날짜 시간 필드에 할당 될 수 반환 값 :

나는이 방법을 발견했다.

범위 검사 오류/정수 오버플로가 걱정 스러운가요 아니면 올바른 방법 일 수있는 스크립트를 수행하는 대신 더 나은 방법이 있습니까?

JD

+1

데이터베이스 엔진을 올바른 방법으로하지 않는다하고는 큰 문제가되지 않습니다 사용하지 때문에, DB를 변경하는 스크립트를 작성하는 것을 선호 ? –

+0

데스크톱 버전은 파이어 버드를 사용하며 서버 버전은 SQL 서버를 사용합니다. 우리는 데이터베이스 레이어에 대해 걱정하지 않고 데이터베이스를 교체 할 수있는 Bold for delphi를 사용하고 있습니다. –

답변

8

난 당신이 사용하는 (데이터 변환 등)

+4

동의. 사용되지 않는 열을 삭제하고 새 열을 추가하는 것은 "너무 많은 작업"방법이지만 변환 루틴을 설계하고 적절한 안전 점검이 있는지 확인하는 데 너무 많은 작업이 필요하지 않습니다. –

+0

우리는 델파이 용으로 굵은 글씨체를 사용하고 있습니다. 모델을 생성하고 싶지 않았고, 진화하는 어플리케이션에 저장해 두었습니다. 나는 빠른 해결책을 찾으려고했다. –

+0

파이어 버드 또는 SQL 서버의 데이터베이스 필드에 (고유 번호) 값을 저장할 수 있다고 보장 할 수 없기 때문에 올바른 방법으로해야 할 것 같습니다. 의견을 보내 주셔서 감사합니다. –