全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1195
推到 Plurk!
推到 Facebook!

改寫某段add語法請教

 
jiannrong
一般會員


發表:58
回覆:36
積分:18
註冊:2002-05-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-07-16 19:49:26 IP:203.66.xxx.xxx 未訂閱
我這裡有段語法 之前的人是用table元件寫的 若我想要改成Query元件 請教一下 我有哪些要注意的地方呢 謝謝 procedure TFormfday.BitBtnFAdd1Click(Sender: TObject); var Year, Month, Day, w: Word; Date1,Date2,Date:TDateTime; QueryT: TQuery; begin DecodeDate(Now, Year, Month, Day); Date1:=StrToDate(format('%0.4d/%0.2d/01',[Year,Month])); Date2:=StrToDate(format('%0.4d/%0.2d/01',[Year 1,Month]))-1; QueryT := TQuery.Create(Self); QueryT.DatabaseName := DM.TBFday.DatabaseName; QueryT.SQL.Clear; QueryT.SQL.Add('select FDAY from ' IRecDB[irFday].DBName ' where FDAY>=''' DateToSqlString(Date1) ''' AND FDAY<=''' DateToSqlString(Date2) ''' order by FDAY'); QueryT.Prepare; QueryT.Open; DM.DSFday.DataSet.DisableControls; try w:=DayOfWeek(Date1); if (CheckBox1.checked=true) then begin if w<>7 then Date:=Date1 (7-w) //init first match day else Date:=Date1; while Date<=Date2 do begin if QueryT.Locate('FDAY', Date,[loPartialkey])=false then begin DM.DSFday.DataSet.Append; DM.DSFday.DataSet.FieldByName('FDAY').AsDateTime:=Date; DM.DSFday.DataSet.post; end; Date:=Date 7; end; end; if (CheckBox2.checked=true) then begin if w<>1 then Date:=Date1 (8-w) //init first match day else Date:=Date1; while Date<=Date2 do begin if QueryT.Locate('FDAY', Date,[loPartialkey])=false then begin DM.DSFday.DataSet.Append; DM.DSFday.DataSet.FieldByName('FDAY').AsDateTime:=Date; DM.DSFday.DataSet.post; end; Date:=Date 7; end; end; finally // free query: QueryT.Close; QueryT.Free; DM.DSFday.DataSet.EnableControls; end; MonthCalendar1.Date:=DM.DSFday.DataSet.FieldByName('FDAY').AsDatetime; end;
系統時間:2024-04-29 9:36:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!