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

日期的問題 有勞了

答題得分者是:ccchen
ferre
一般會員


發表:5
回覆:8
積分:2
註冊:2002-12-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-10 01:33:06 IP:210.241.xxx.xxx 未訂閱
請問一下 我是新新手喔 因為找舊文章 找不到範例 so 拜託了 我用database desktop 設定日期type為 date 可是 我的程式卻每每寫入時間時就會出錯ㄋㄟ procedure TForm1.Button1Click(Sender: TObject); VAR maxeno : Integer; begin query2.SQL.Clear; query2.SQL.Add('SELECT max(ENO) as maxeno FROM member.db'); query2.Close; query2.Open; maxeno:=query2.fieldbyname('maxeno').asinteger 1; query2.sql.clear; query2.SQL.Add('insert into member.db'); query2.SQL.Add(' ( ENO , '); query2.SQL.Add(' NAME , '); query2.SQL.Add(' PHONE , '); query2.SQL.Add(' ADDRESS , '); query2.SQL.Add(' BIRTHDAY, '); query2.SQL.Add(' TNUMBER , '); query2.SQL.Add(' DAYIN '); query2.SQL.Add(' ) VALUES ( '); query2.SQL.Add(' ''' inttostr(maxeno) ''' ,'); query2.sql.Add(' ''' edit1.Text ''' ,'); query2.sql.Add(' ''' edit2.Text ''' ,'); query2.sql.Add(' ''' edit3.Text ''' ,'); query2.sql.Add(' ''' edit4.Text ''' ,'); query2.sql.Add(' ''' edit5.Text ''' ,'); query2.sql.Add(' ''' edit6.Text ''' )'); query2.execsql; query1.Close; query1.Open; end; procedure TForm1.Button2Click(Sender: TObject); begin query2.SQL.Clear; query2.SQL.Add('update member.db'); query2.SQL.Add('set'); query2.sql.add('NAME = ''' EDIT1.text ''' ,'); query2.sql.add('PHONE = ''' EDIT2.text ''' ,'); query2.sql.add('ADDRESS = ''' EDIT3.text ''' ,'); query2.sql.add('BIRTHDAY= ''' EDIT4.text ''' ,'); query2.sql.add('TNUMBER = ''' EDIT5.text ''' '); query2.sql.add('DAYIN = ''' EDIT6.text ''' '); query2.sql.add('WHERE ENO=''' query1.fieldbyname('ENO').asstring ''' '); query2.ExecSQL; query1.Close; query1.open; end;
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-01-10 01:47:59 IP:61.59.xxx.xxx 未訂閱
你資料庫裡的日期設定為Date型態,而Edit.text屬字串型態 使用StrToDate 做型態轉換  例:
  StrToDate(Edit4.text)
PS:你的國籍資料(Angola)是否正確,若不正確麻煩請修改個人基本資料,以利站務統計,謝謝 =============================================================================== 提醒您,貼錯文章可立即傳訊通知該版版主/站長/副站長協助處理,不要放著不管喔 發表人 -
ferre
一般會員


發表:5
回覆:8
積分:2
註冊:2002-12-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-01-10 02:17:31 IP:210.241.xxx.xxx 未訂閱
個人資料改好囉 sorry....沒注意到 謝謝您的回覆 可是我改成下面那樣 還是存不進去ㄋㄟ 拜託了 if edit4.text <> '' then query2.sql.add('BIRTHDAY= strtodate(EDIT4.text) ,'); query2.sql.add('TNUMBER = ''' EDIT5.text ''' '); if edit6.text <> '' then query2.sql.add('DAYIN = strtodate(EDIT6.text) ');
ccchen
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-01-10 07:45:40 IP:61.219.xxx.xxx 未訂閱
其實有很多舊文章討論這個問題 每一資料庫日期格式都不太相同, .dbf, paradox 在輸入時為m/d/y 相信你在edit4及edit6上之字串都是y/m/d, 所以不行 BIRTHDAY= QuotedStr(formatDateTime('mm/dd/yyyy',strtodate(EDIT4.text))) sql是一個字串, 所以必須轉回字串, 不可以是dateTime [NOTE]若用paramters來寫, parameters部分由delphi解釋就不會有資料庫不同寫法也不同之差異了, 搜尋一下,舊文章很多很多
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-01-10 09:05:57 IP:211.74.xxx.xxx 未訂閱
改這樣試看看.. if edit4.text <> '' then query2.sql.add('BIRTHDAY=' #39 strtodate(EDIT4.text) #39 ','); query2.sql.add('TNUMBER =' #39 EDIT5.text #39); if edit6.text <> '' then query2.sql.add('DAYIN =' #39 strtodate(EDIT6.text) #39); TRY TRY SEE
引言: if edit4.text <> '' then query2.sql.add('BIRTHDAY= strtodate(EDIT4.text) ,'); query2.sql.add('TNUMBER = ''' EDIT5.text ''' '); if edit6.text <> '' then query2.sql.add('DAYIN = strtodate(EDIT6.text) ');
ferre
一般會員


發表:5
回覆:8
積分:2
註冊:2002-12-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-01-10 11:29:46 IP:210.241.xxx.xxx 未訂閱
嗯 謝謝大家 感恩ㄟ 我再試試看 順便翻翻舊文章 謝謝
系統時間:2024-05-13 21:29:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!