-1

これを正確に定式化する方法がわからないので、ご容赦ください... PlannerCalendar1で選択された日付で、メモからデータベースにテキストを保存しています。PlannerCalendar1 では複数の日付を選択できるため、PlannerCalendar1 で選択したすべての日付にメモの値を投稿するにはどうすればよいですか?「保存」をクリックすると、選択したすべての日付にメモの内容が保存されます。データベースは SQLite です。テーブルには、autoinc (プライマリ) である ID フィールドもあります。PlannerCalendar は、TMS コンポーネントのセットからのものです。

procedure TForm1.cxButton1Click(Sender: TObject);
 var i:integer;
begin
with UniQuery1 do
begin
 UniQuery1.SQL.Text:='INSERT INTO LOG (DATE,PERSON,DONE,TIME) VALUES (:a1,:a2,:a3,:a4)';
 UniQuery1.PARAMS.ParamByName('A1').VALUE := PlannerCalendar1.Date;
 UniQuery1.PARAMS.ParamByName('A2').VALUE := cxmemo1.Lines.text ;
 UniQuery1.PARAMS.ParamByName('A3').VALUE := (0);
 UniQuery1.PARAMS.ParamByName('A4').Value := AdvOfficeStatusBar1.Panels[0].Text;
 UniQuery1.ExecSQL;
 cxmemo1.Clear;
 UniTable1.Refresh;

最後にこれを試しましたが、うまくいきません:

with plannercalendar1.Dates do
begin
for i := 0 to -1 do
begin
UniQuery1.PARAMS.ParamByName('A1').VALUE :=plannercalendar1.dates.Add + i ;
UniQuery1.ExecSQL;
end;
4

2 に答える 2

1

Planner の SelectionToAbsTime メソッドを使用する必要があります:-

Var
  lStart, lEnd : TDateTime;
Begin
  Planner1.SelectionToAbsTime(lStart, lEnd);
  For I := Trunc(lStart) To Trunc(lEnd) Do
    SaveMemosForDate(I);
End;
于 2014-01-24T12:11:12.200 に答える