dbdatetimepicker回存資料庫日期? |
答題得分者是:shunaaron
|
lisahsu7488
一般會員 發表:9 回覆:3 積分:2 註冊:2007-10-02 發送簡訊給我 |
不好意思,小的是個新手,有個問題,想請問各位大大,勞煩大家不嫌棄,給予指教,謝謝
dbdatetimepicker回存到資料庫,該如何使用呢? 1.資料庫的格式型態是timestamp 2.我只需要存日期的格式不要時間 例:2008/05/16 以下是我寫的: s1:='update xxx set act_beg =' DateTimeToStr(dbdatetimepicker1.Date) ' where act_id =' Quotedstr(dbedit1.text); ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(s1); ADOQuery1.ExecSQL; 不好意思,各位大大,沒有把問題說清楚 我有先sql查詢過是可以update的,但是在程式上無法執行,會跳出下面的訊息 訊息內容: Project acd01.exe raised exception class EOLeException with message'[Oracle][ODBC]ORA-00907: missing right parenthesis'.Process stopped. Use Step or Run to continue. 出現這個訊息後就無法執行了,且資料庫有存資料進去但是格式卻是全部(日期+時間)。 我真的很想學,請各位大大撥點時間教教我可以嗎? 我已經有去查過很多相關訊息,但還是不行…才會提出來的,謝謝大家的指教 編輯記錄
lisahsu7488 重新編輯於 2008-05-19 14:24:05, 註解 無‧
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
qqqufo
一般會員 發表:1 回覆:17 積分:8 註冊:2007-06-01 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
這位朋友, 是你po文上來發問, 我們不明白問題所在, 怎麼會變成要我們自己去測結果, 再告訴你答案呢? 這不太對吧!
我常說, 討論區不是給大家在玩猜謎遊戲的, 我們也真的沒有那麼多時間耗在在這裡, 所以請直接告訴我們你要什麼, 謝謝! ===================引 用 qqqufo 文 章=================== 我猜是日期格式的问题,楼主可以在执行SQL之前,使用showmessage(s1)把相关的sql显示出来看看,然后把这个显示出来的结果拿去数据库管理系统中直接执行,便知道是什么原因。然后按照不同DBMS的要求调整格式即可。 |
qqqufo
一般會員 發表:1 回覆:17 積分:8 註冊:2007-06-01 發送簡訊給我 |
PD版主真的很尽职,赞一个,不过,我并不是发贴人,我同样是猜测发贴人的意图,并提供一种简单的调试方法。
建议发贴人先去看看《提问的智慧》,这样就不会浪费版主的时间了。 ===================引 用 P.D. 文 章=================== 這位朋友, 是你po文上來發問, 我們不明白問題所在, 怎麼會變成要我們自己去測結果, 再告訴你答案呢? 這不太對吧! 我常說, 討論區不是給大家在玩猜謎遊戲的, 我們也真的沒有那麼多時間耗在在這裡, 所以請直接告訴我們你要什麼, 謝謝! ===================引 用 qqqufo 文 章=================== 我猜是日期格式的问题,楼主可以在执行SQL之前,使用showmessage(s1)把相关的sql显示出来看看,然后把这个显示出来的结果拿去数据库管理系统中直接执行,便知道是什么原因。然后按照不同DBMS的要求调整格式即可。 |
shunaaron
高階會員 發表:13 回覆:94 積分:106 註冊:2006-10-06 發送簡訊給我 |
try
ttDate := formatdatetime('yyyy/mm/dd',dbdatetimepicker1.Date) s1:='update xxx set act_beg =' QuotedStr(ttDate) ' where act_id =' Quotedstr(dbedit1.text); ===================引 用 lisahsu7488 文 章=================== 不好意思,小的是個新手,有個問題,想請問各位大大,勞煩大家不嫌棄,給予指教,謝謝 dbdatetimepicker回存到資料庫,該如何使用呢? 1.資料庫的格式型態是timestamp 2.我只需要存日期的格式不要時間 例:2008/05/16 以下是我寫的: s1:='update xxx set act_beg =' DateTimeToStr(dbdatetimepicker1.Date) ' where act_id =' Quotedstr(dbedit1.text); ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(s1); ADOQuery1.ExecSQL; 不好意思,各位大大,沒有把問題說清楚 我有先sql查詢過是可以update的,但是在程式上無法執行,會跳出下面的訊息 訊息內容: Project acd01.exe raised exception class EOLeException with message'[Oracle][ODBC]ORA-00907: missing right parenthesis'.Process stopped. Use Step or Run to continue. 出現這個訊息後就無法執行了,且資料庫有存資料進去但是格式卻是全部(日期+時間)。 我真的很想學,請各位大大撥點時間教教我可以嗎? 我已經有去查過很多相關訊息,但還是不行…才會提出來的,謝謝大家的指教
------
程式沒有這麼難 只是還沒打通其中要絕 |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
嗨! 如果你早這樣提出來, 或許問題已經有答案了, 不過很抱歉, 你的錯誤中有一個很重要的訊息
你使用 Oracle 非我的認知領域, 而且還使用odbc連結這點我覺得很奇怪 不過雖然無法為你解決, 提供你另一種寫法, 看能不能解決 ADOQuery1.Close; ADOQuery1.SQL.Text:= 'update xxx set act_beg= :mact_beg where act_id= :mact_id'; ADOQuery1.Parameters.ParambyName('mact_beg').Value:= dbdatetimepicker1.Date; ADOQuery1.Parameters.ParambyName('mact_id').Value:= dbedit1.text; ADOQuery1.ExecSQL; 利用這種方式可以避免一些型態上的轉換失誤, 也可以讓程式更簡潔, 試試看 另外還有Oracle用ADO元件是否適合我不清楚, 不知道你的Delphi版本, 如果是6以上, 試試DBExpress元件, 可能會比較好 另外, 不是挑你文字的語病, 而是有時候一個字可能就讓我們導入錯誤方向 "我有先sql查詢過是可以update的" 這是代表, 你只是查過語法嗎? 還是有利用Orcale的相關工具實際run 過這段更新呢? 如果是前者, 你如何肯定這段語法真正在Run時是不是對的, 萬一根本就是錯的呢? 那我們在這裡討論不就一切都是白忙一場了嗎? 所以必須很清楚表示到底有沒有run過這樣的update而且可不可行? 再者你底下有提到資料有確實存入, 但是是時間 日期, 那你有試過(就你原有的update語法), 改成 DatetoStr(....) 方式可不可以run? ===================引 用 lisahsu7488 文 章=================== 不好意思,小的是個新手,有個問題,想請問各位大大,勞煩大家不嫌棄,給予指教,謝謝 dbdatetimepicker回存到資料庫,該如何使用呢? 1.資料庫的格式型態是timestamp 2.我只需要存日期的格式不要時間 例:2008/05/16 以下是我寫的: s1:='update xxx set act_beg =' DateTimeToStr(dbdatetimepicker1.Date) ' where act_id =' Quotedstr(dbedit1.text); ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(s1); ADOQuery1.ExecSQL; 不好意思,各位大大,沒有把問題說清楚 我有先sql查詢過是可以update的,但是在程式上無法執行,會跳出下面的訊息 訊息內容: Project acd01.exe raised exception class EOLeException with message'[Oracle][ODBC]ORA-00907: missing right parenthesis'.Process stopped. Use Step or Run to continue. 出現這個訊息後就無法執行了,且資料庫有存資料進去但是格式卻是全部(日期+時間)。 我真的很想學,請各位大大撥點時間教教我可以嗎? 我已經有去查過很多相關訊息,但還是不行…才會提出來的,謝謝大家的指教 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |