2014-04-04 21 views
0

我想了解如何通過使用用戶輸入減去數據庫中提供的金額進行計算。該金額屬於特定名稱。基本上(輸入) - (來自數據庫的數據)用戶輸入減數據庫

我知道的是我必須先取出數據。所以我的代碼是:

"SELECT * FROM Table Where username=" + username; 

然後進行計算並將新數據放入數據庫。這可以通過使用UPDATE來完成。

例如,

"UPDATE Table SET amount='" + amount + "'WHERE username='" + userName + "'"; 

但我有在做計算的麻煩。金額不會減少。

在我最近研究了我應該做:

int newAmount = nowAmount - amount 

???順便不成功。

更新信息:即時通訊使用的只是櫃面,如果你想知道

+1

聽起來像你應該在你的更新語句中使用'newAmount',而不是'amount',是嗎? – Goose

+0

對鵝的建議+1。另外,儘量避免SQL注入,將用戶輸入的查詢連接起來通常是一個壞主意。 –

+1

脫離主題的東西,但要注意sql注入 – Steve

回答

0

這是很簡單,在短短几分鐘時間來編寫一個Web服務。

首先,您從窗體中獲得來自用戶的輸入,或者從媒體中獲得輸入。例如:

int userInput = Request.Form["some_input_name"]; 

然後從數據庫中獲取數據:

"SELECT * FROM Table Where username=" + username; 

現在,您需要選擇列,否則你會得到一個例外。試試這個:

int dbValue = ""; 
foreach (var row in variable_of_database) { 
    dbValue = row.amount; 
} 

現在,只需要減去它。

int newValue = userInput - dbValue; 

然後相同的UPDATE方法。

。在你的代碼一個錯字:

"UPDATE Table SET amount='" + amount + "'WHERE username='" + userName + "'"; 
          // ^^^ You sure? 

嘗試更新到新的變量名,即newValue

+0

我忘了提及我正在使用webservice。會有什麼區別嗎? – user3438429

+0

@ user3438429,不......不會有任何... –