請教新增資料的語法哪裡有錯誤呢 謝謝 |
答題得分者是:ccchen
|
jiannrong
一般會員 發表:58 回覆:36 積分:18 註冊:2002-05-09 發送簡訊給我 |
請教一下 我現在要做一個動作 就是當使用者點選checkbox1的時候 會將該月開始的一年之內的周六訂定
為休假日 [存入資料庫] 點選checkbox2的時候 會將該月開始的一年之內的周日訂定
為休假日 [存入資料庫]
請問一下 以下的語法哪裡有錯誤的地方 為何無法執行呢
我檢查過了 實在不知道錯在哪裡 所以冒昧的請教各位前輩 謝謝 procedure TFormfday.BitBtnFAdd1Click(Sender: TObject);
var Year, Month, Day, w: Word;
Date1,Date2,Date:TDateTime;
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;
//date1是今天的時間 date2是明年的時間
DM.Queryfday.close;
DM.Queryfday.SQL.Clear;
try
DM.Queryfday.SQL.ADD('select fday from Fday where fday >= ''' datetostr(Date1) ''' and fday <= ''' datetostr(Date2) ''' order by FDAY');
edit1.text:=DM.Queryfday.SQL.Text ;
showmessage(edit1.text);
DM.Queryfday.Prepare;
DM.Queryfday.Open;
except
on E: Exception do
begin
ShowMessage(E.Message);
end;
end;
try
w:=DayOfWeek(Date1);
if (CheckBox1.checked=true) then begin
if w<>7 then Date:=Date1 (7-w) //init first match day date1是今天日期
else Date:=Date1;
while Date<=Date2 do
begin
DM.Queryfday.close;
DM.Queryfday.SQL.Clear;
try
DM.Queryfday.SQL.ADD('insert into Fday(Fday) values(''' datetostr(Date) ''')');
DM.Queryfday.Prepare;
DM.Queryfday.ExecSQL;
except
on E: Exception do
begin
ShowMessage(E.Message);
end;
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
DM.Queryfday.close;
DM.Queryfday.SQL.Clear;
try
DM.Queryfday.SQL.ADD('insert into Fday(Fday) values(''' datetostr(Date) ''')');
DM.Queryfday.Prepare;
DM.Queryfday.ExecSQL;
except
on E: Exception do
begin
ShowMessage(E.Message);
end;
end;
Date:=Date 7;
end;
end;
finally
end;
end;
|
andersonhsieh
版主 發表:33 回覆:531 積分:439 註冊:2002-06-10 發送簡訊給我 |
|
weber
初階會員 發表:24 回覆:56 積分:26 註冊:2002-03-13 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
select fday from Fday where fday >= ''' datetostr(Date1) ''' and fday <= ''' datetostr(Date2) ''' order by FDAY'
主要問題在DatetoStr, 各資料庫所接受之DateFormat均不同, 須查查看
顯示之日期依shortDateFormat而定與資料庫無關, 輸入之Data則須符合資料庫要求. 例如: Paradox, DBF均為'mm/dd/yyyy', 雖然顯示為yyyy/mm/dd
Oracle: 若安裝Big5碼, 則月還須輸入中文字如3月
不過Client-SerVer之資料庫均可更改日期格式 將你所有DateToStr改成
FormatDateTime('mm/dd/yyyy', Date1)試試 [NOTE]最好不要用Date當變數, 因為這是一個function name
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |