C# 用户输入减去数据库

C# 用户输入减去数据库,c#,database,user-input,C#,Database,User Input,我试图学习如何使用用户输入减去数据库中提供的金额进行计算。该金额低于特定名称的金额。基本上是从数据库输入数据 我所知道的是我必须先取出数据。所以我的代码是: "SELECT * FROM Table Where username=" + username; 然后进行计算并将新数据放入数据库。这可以通过使用更新来完成 例如 "UPDATE Table SET amount='" + amount + "'WHERE username='" + userName + "'"; 但是我在计算上有困

我试图学习如何使用用户输入减去数据库中提供的金额进行计算。该金额低于特定名称的金额。基本上是从数据库输入数据

我所知道的是我必须先取出数据。所以我的代码是:

"SELECT * FROM Table Where username=" + username;
然后进行计算并将新数据放入数据库。这可以通过使用更新来完成

例如

"UPDATE Table SET amount='" + amount + "'WHERE username='" + userName + "'";
但是我在计算上有困难。数额不会减少

在我最近的研究中,我应该:

int newAmount = nowAmount - amount
???顺便说一下,不成功


更新信息:我正在使用一个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 Table SET amount='" + amount + "'WHERE username='" + userName + "'";
                           //  ^^^ You sure?

尝试将其更新为新的变量名,即newValue。

听起来您应该在更新语句中使用newAmount,而不是amount,是吗?+1作为Goose的建议。另外,尽量避免SQL注入,将查询与用户输入连接起来通常是个坏主意。有些离题,但要注意SQL注入我忘了提到我正在使用webservice。有什么不同吗?@user3438429,没有。。。不会有任何。。。