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

TQuery 想新增一筆資料但是卻無法新增

尚未結案
carter6
初階會員


發表:53
回覆:108
積分:42
註冊:2002-12-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-16 21:20:53 IP:61.59.xxx.xxx 未訂閱
TQuery 想新增一筆資料但是卻無法新增 我覺得應該是日期的關係 我開了一個 TEMP.db 的資料庫規格入下 ----------------------------------- Field Name Type Orderno Number Custno Number Itemno Number SaleDate Date ----------------------------------- 程式: ------------------------- ESaleDate.text := '1988/12/23'; query1.Close; query1.SQL.Clear; query1.Params.Clear; query1.SQL.Add('insert into temp (orderno,custno,Itemno,SaleDate) VALUES(1003,201,2002,' strtodate(ESaleDate.text) ') '); query4.ExecSQL; ---------------------------------- 但是卻無法存檔 好像是日期問題 請問各位有誰知道如何 寫可以讓它能存進去
ccchen
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-16 21:36:11 IP:203.217.xxx.xxx 未訂閱
同樣的問題已不知出現幾百遍了 query1.SQL.Add('insert into temp (orderno,custno,Itemno,SaleDate) VALUES(1003,201,2002,' strtodate(ESaleDate.text) ') '); 如此寫,是直接送給Database driver解讀, 日期一定是以字串方式傳入, 至於格式須看資料庫而定, 可能是如'2002/12/16'或'12/16/2002',也可能更麻煩,你可以用上兩方式先試試 改成VALUES(1003,201,2002,' QuotedStr(ESaleDate.text) ') ');看看 可以用Paramater方式改寫就可以直接用DateTime,如何用paramter, 找一找吧
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-16 21:43:21 IP:61.228.xxx.xxx 未訂閱
建議我 Parameter 做 ... 另外, 最後一行的 Query4 ... 也應該用 Query1 吧
carter6
初階會員


發表:53
回覆:108
積分:42
註冊:2002-12-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-16 22:14:11 IP:61.59.xxx.xxx 未訂閱
請問用 Parameter 需如何設定 不好意思剛接觸 Delphi 所以問的都很基礎~~~~
ko
資深會員


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-17 00:54:58 IP:61.64.xxx.xxx 未訂閱
引言: ESaleDate.text := '1988/12/23'; query1.Close; query1.SQL.Clear; query1.Params.Clear; query1.SQL.Add('insert into temp (orderno,custno,Itemno,SaleDate) VALUES(1003,201,2002,' strtodate(ESaleDate.text) ') '); query4.ExecSQL;
改寫 ESaleDate.text := '1988/12/23'; query1.Close; query1.SQL.Clear; query1.Params.Clear; query1.SQL.Add('insert into temp (orderno,custno,Itemno,SaleDate) VALUES(1003,201,2002,:DATE) '); query1.ParamByName('DATE').ASSTRING:=ESaleDate.text; query1.ExecSQL; :DATE-->變數所以有冒號 DATE-->Parameter裡的指定名稱在SQL.ADD()裡= :DATE
------
======================
昏睡~
不昏睡~
不由昏睡~
carter6
初階會員


發表:53
回覆:108
積分:42
註冊:2002-12-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-17 09:52:40 IP:211.74.xxx.xxx 未訂閱
謝謝各位的執導~~~ 結果發現是Paradox 的資料庫日期格式是 '05/23/1989' 但是卻顯示 '1989/05/23' 只要以上面的格式丟入即可~~~
Person
一般會員


發表:2
回覆:5
積分:1
註冊:2003-01-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-20 14:20:11 IP:140.115.xxx.xxx 未訂閱
其實會事發生這樣的問題,應該在於外國人表示日期的方式為 mmddYYYY 而在我們台灣 local 的表示方法為 YYYmmdd,因此才會發生顯示和輸入樣式不同.
系統時間:2024-07-01 20:14:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!