線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1703
推到 Plurk!
推到 Facebook!

系統時間

答題得分者是:hagar
Selena
一般會員


發表:16
回覆:28
積分:8
註冊:2002-11-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-11-29 14:41:25 IP:211.74.xxx.xxx 未訂閱
請問如何才能用一個按鈕把系統時間丟到我所指定的特定欄位, adoquery1.SQL.Text :='update 工作表 set 上班=? where 日=1' ?的地方就是要放入系統時間,可是似乎會有格式上的問題, 在Access上的欄位我是設定其格式為時間/日期用time()這個函數來驗證 還有,在綠色的地方,我是否可以用一個變數來取代 var t,s: Tdatetime; y,m,d:word; begin t:= now; decodedate(t,y,m,d); try adoquery1.SQL.Text :='update 工作表 set 上班=? where 日=d';這樣的寫法可行嗎 adoquery1.ExecSQL; ADODataSet1.Requery; except on e: Exception do showmessage(e.Message); end; 月光小築~月牙兒
------
月光小築~月牙兒
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-11-29 15:09:29 IP:61.219.xxx.xxx 未訂閱
假設你 "上班","日"欄位均為字串, 可如下
var t:Tdatetime;
begin
   t:= now;
   adoquery1.SQL.Text :='update 工作表 set 上班='   quotedstr(Datetostr(t))   ' where 日='   quotedstr(Timetostr(t))'    
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-11-29 17:38:20 IP:61.221.xxx.xxx 未訂閱
Selena你好: 我想你'上班'指的是time的格式而'日'是指當天或某一天 所以你可以先將現在時間分解 FormatDateTime('yyyy/mm/dd'now());//這是指現在的日期(年/月/日) FormatDateTime('HH:MM:SS'now());//這是指現在的時間(時:分:秒) 再用變數加到 adoquery1.SQL.Text :='update 工作表 set 上班=' 變數 'where 日=' 變數
------
======================
昏睡~
不昏睡~
不由昏睡~
Selena
一般會員


發表:16
回覆:28
積分:8
註冊:2002-11-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-11-29 22:49:32 IP:61.59.xxx.xxx 未訂閱
引言: 假設你 "上班","日"欄位均為字串, 可如下
var t:Tdatetime;
begin
   t:= now;
   adoquery1.SQL.Text :='update 工作表 set 上班='   quotedstr(Datetostr(t))   ' where 日='   quotedstr(Timetostr(t))'    
只有日的欄位是字串,上班的欄位格式是時間/日期(time) 我是在想,如果設成字串,到時候要做加減不是會很麻煩呢? 又要多一個步驟來轉換,
月光小築~月牙兒
------
月光小築~月牙兒
Selena
一般會員


發表:16
回覆:28
積分:8
註冊:2002-11-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-11-29 22:53:20 IP:61.59.xxx.xxx 未訂閱
引言: Selena你好: 我想你'上班'指的是time的格式而'日'是指當天或某一天 所以你可以先將現在時間分解 FormatDateTime('yyyy/mm/dd'now());//這是指現在的日期(年/月/日) FormatDateTime('HH:MM:SS'now());//這是指現在的時間(時:分:秒) 再用變數加到 adoquery1.SQL.Text :='update 工作表 set 上班=' 變數 'where 日=' 變數 謝謝你,但我還是有一點不了解 adoquery1.SQL.Text :='update 工作表 set 上班=' 變數 'where 日=' dd; 我想日的變數是不是這樣寫就OK了,而上班的變數部份,我要整個系統時間(如:19:20:00),那還要分解開來,再一一放入嗎?要怎麼寫會最方便,最快呢? 還有,剛剛試了,在執行到FormatDateTime('yyyy/mm/dd'now());時 它出現了這樣的訊息Not enough actual parameters,不知它要什麼參數呢?
月光小築~月牙兒 發表人 - Selena 於 2002/11/29 23:02:55
------
月光小築~月牙兒
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-11-30 00:11:45 IP:202.39.xxx.xxx 未訂閱
1.
var YY, MM, DD: Word;
begin
  DecodeDate(Now, YY, MM, DD);
  adoquery1.SQL.Text :='update 工作表 set 上班 = :WorkTime where 日= :D';
  ADOQuery1.Parameter.ParamValues['WorkTime'] := DateTimeToStr(Now);
  ADOQuery1.Parameter.ParamValues['D'] := DD;
  ADOQuery1.Open;
end;
2.是 FormatDateTime('yyyy/mm/dd', now()); -- Everything I say is a lie.
系統時間:2024-11-23 6:12:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!