안녕하세요..
지금 도서관대출 프로그램을 만들어 보고 있거던요..
근데..아래와 같이 하면요..
procedure TForm1.Button9Click(Sender: TObject);
var
i : Double;
D1 : TDateTime;
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from loandata');
Query1.Open;
Query1.First;
while not Query1.Eof do begin
if Query1.FieldByName('Rdate').AsDateTime < Now then
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Update LoanData');
Query1.SQL.Add('set');
Query1.SQL.Add('over=:over');
Query1.SQL.Add('Where Rdate <:Mydate');
D1 := Query1.FieldByName('Rdate').AsDateTime;
i := Now - D1;
Query1.ParamByName('over').AsString := FloatToStr(Trunc(i)) + ' ' +'일연체';
Query1.ParamByName('Mydate').AsDateTime := now;
Query1.ExecSql;
end;
Query1.Next;
end;
end;
위와 같이 한번 제생각대로 만들어 봤는데요..계속에러가 나네요.
도서관에서 대출하고 난뒤에 반납일이 지난 도서들에 대해서
반납일이 지난날 만큼의 연체된날을 구할려고 하거던요..근데
D1 := Query1.FieldByName('Rdate').AsDateTime; 이필드에 들어 있는 값을
받아 오지 못하거던요. Rdate는 반납날짜가 있는 필드고요..
오늘 날짜에서 반납날짜를 빼면 연체된 날수를 계산할수 있을것 같은데요..
어떻게 하면 D1 := Query1.FieldByName('Rdate').AsDateTime; 에 들어있는
값을 얻어와서 모든연체된 도서에 값을 넣을수 있을까요..
답변 좀 부탁드립니다..
음~..ㅡ,ㅡ
select도 Query1이고.......
update도 Query1이고.......
이렇게 되면 안될꺼같구~ 쿼리컴퍼넌트를 두개를 써서 하나는 Select
또하나는 update이러면 어떨까요?......
참고하시기 바랍니다...