Q&A

  • 현재 날짜를 얻고싶어요....
TDatasource가 update될때 현재 날짜를 필드에 넣고 싶은데 시간까지 같이 입력되어버려서 에러가 납니다.



procedure Tformdo_list.DataSource1UpdateData(Sender: TObject);

var

Rightnow: TDatetime;

begin

Rightnow := now;

Table1.FieldByName('do_day').AsDateTime := Rightnow;

Rightnow := Table1.fieldbyName('do_day').asdatetime;



end;



참고로 do_day필드는 TStringfield입니다.

2  COMMENTS
  • Profile
    변대섭 1999.06.02 18:42
    하명훈 께서 말씀하시기를...

    > TDatasource가 update될때 현재 날짜를 필드에 넣고 싶은데 시간까지 같이 입력되어버려서 에러가 납니다.

    >

    > procedure Tformdo_list.DataSource1UpdateData(Sender: TObject);

    > var

    > Rightnow: TDatetime;

    > begin

    > Rightnow := now;

    > Table1.FieldByName('do_day').AsDateTime := Rightnow;

    > Rightnow := Table1.fieldbyName('do_day').asdatetime;

    >

    > end;

    >

    > 참고로 do_day필드는 TStringfield입니다.



    do_day 필드가 8 자리라면 formatdatetime, Date() 함수를 사용해 보시죠.



    table1.fieldbyname('do_day').asstring := formatdatetime('yyyyMMdd',Date());



  • Profile
    김경수 1999.06.02 04:09
    안녕하세요..

    저는요 일반 테이블에 날짜를 입력하는경우에는 datetype보다는 그냥 integer형으로 저장하거든요. 나중에 비교하기도 쉽고 해서요...(단 전 아직초보랍니다.)

    김영대님의 자료중에서 제가 조금 바꾸어서 사용했던 부분인데요.

    현재의 년월일을 반납하거든요. 도움이 될까해서요..

    그럼 안녕히..



    function r_date() : integer;

    var

    Present: TDateTime;

    Year, Month, Day:Word;

    y_date : string;

    begin

    //영업소 등록 / 등록일 지정하기

    Present:= Now;

    DecodeDate(Present, Year, Month, Day);

    y_date := inttostr(year);

    if length(inttostr(month))=1 then

    begin

    y_date := y_date+'0'+inttostr(month) //달이 1자리인경우

    end

    else

    begin

    y_date := y_date+inttostr(month)

    end;



    if length(inttostr(day))=1 then

    begin

    y_date := y_Date+'0'+inttostr(day);

    end

    else

    begin

    y_date := y_date +inttostr(day);

    end;



    Result := strtoint(y_date);

    end;



    하명훈 께서 말씀하시기를...

    > TDatasource가 update될때 현재 날짜를 필드에 넣고 싶은데 시간까지 같이 입력되어버려서 에러가 납니다.

    >

    > procedure Tformdo_list.DataSource1UpdateData(Sender: TObject);

    > var

    > Rightnow: TDatetime;

    > begin

    > Rightnow := now;

    > Table1.FieldByName('do_day').AsDateTime := Rightnow;

    > Rightnow := Table1.fieldbyName('do_day').asdatetime;

    >

    > end;

    >

    > 참고로 do_day필드는 TStringfield입니다.