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

有關update的問題

答題得分者是:P.D.
like760416
一般會員


發表:2
回覆:5
積分:1
註冊:2008-04-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-06-12 09:15:35 IP:140.128.xxx.xxx 訂閱
我遇到一個問題~~~
就是壓~~~
進貨不是有進貨的數量嗎?~~~
我想要把進貨數量加進去庫存的數量~~~
可是我加不進去~~

而且用 update的話~~
只能加明確的數字~~~
ex:
1. update 存貨 set q=q 10;←這樣是可以加到庫存裡面
2. update 存貨 set q=q i;←這樣會完全當機
( i 我設為進貨數量的那一數值 )

那還有沒有其他的方法呢??~~~
書上只有寫這種方法= = ~~
問同學~沒人知道啦>"<~~~

感謝大家餒~~~~
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-06-12 17:02:05 IP:61.67.xxx.xxx 未訂閱
本來SQL語法就是只支援 運算式的常數運算或函式運算, 並不支援變數運算
例如
Q:=Q 5 或 Q= :NEWDATA 的方式
所以 Q= Q I , SQL根本不認識
因此你可能要這樣做

QUERY1.SQL.TEXT:= 'UPDATE 存貨 SET Q= :NEWDATA WHERE ....'
要存入時使用
QUERY1.PARAMBYNAME('NEWDATA').Value:= 新值 (也就是你的 q=q 10的值)
或者
QUERY1.PARAMETERS.PARAMBYNAME('NEWDATA').Value:= 新值
上者是一般query使用, 下者是使用 ADO元件時的方式
編輯記錄
P.D. 重新編輯於 2008-06-12 17:05:07, 註解 無‧
ko
資深會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-06-12 18:24:26 IP:61.66.xxx.xxx 訂閱
要在組成sql的時候動手腳
本來是
qty1.sql.add('UPDATE [庫存表] SET [庫存]=q i WHERE ....')
要改成
qty1.sql.add('UPDATE [庫存表] SET [庫存]=q ' IntToStr(i) ' WHERE ....')

=========================================================
以後遇到此類問題請先檢查組合好的SQL
可以用文字方塊來表示
MONO1.line.text:=qty1.sql.text
然後去檢查SQL的組成是否和預想的一樣!!
------
======================
昏睡~
不昏睡~
不由昏睡~
like760416
一般會員


發表:2
回覆:5
積分:1
註冊:2008-04-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-06-12 20:16:32 IP:122.127.xxx.xxx 訂閱
不好意思餒~~

我用了你們兩位所提供的意見~~

都還是會當機= = ~~

怎麼會如此呢???~~~~
like760416
一般會員


發表:2
回覆:5
積分:1
註冊:2008-04-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-06-12 23:30:00 IP:122.127.xxx.xxx 訂閱
感謝各位的協助餒~~

我搞出來嚕~~

真高興~~
系統時間:2024-05-05 12:12:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!