【问题标题】:how to update a column( in SQL) by adding a specific amount to the old one?如何通过向旧列添加特定数量来更新列(在 SQL 中)?
【发布时间】:2014-06-05 16:40:33
【问题描述】:

这就是代码...

SQL = string.Format("Insert into Orders (AID,ODate) Values({0},'{1}')", AID, odate);
Dbase.ChangeTable(SQL, "Database1.mdb");
SQL = "Select MAX(OID) as MAXOID from Orders";
dt = Dbase.SelectFromTable(SQL, "Database1.mdb");
OID = dt.Rows[0][0].ToString();
string PID = Session["PID"].ToString();
SQL = string.Format("Insert into ListedProducts (OID,PID,PCat,cnt) Values({0},{1},'{2}',{3})", OID, PID, "B", cnt);
Dbase.ChangeTable(SQL, "Database1.mdb");
Label6.Text = "Your Product has been added to your basket , go to <a href=\"MyBasket.aspx\">your basket </a> to commit your order.";

// HEREEEEEEE///

SQL = String.Format("Update [Orders]  SET [price]=[price]+{0}  Where [OID]={1}", int.Parse(cnt) * pr, OID);
//SQL = "UPDATE [Orders] SET [price]=" + int.Parse(cnt) * pr + " WHERE OID=" + OID;

////////////////
Dbase.ChangeTable(SQL, "Database1.mdb");

所以它应该可以工作并且它不会向我显示错误但它不会向数据库添加任何内容但如果我不添加它会更新。

我的数据库包含 OID、ODate、price、AID..

【问题讨论】:

  • 在尝试添加之前显示插入字符串。然后手动尝试插入字符串。
  • 如果将 INSERT 语句替换为使用相同 WHERE 子句的 SELECT 会发生什么?你得到结果吗?这将检查您的 WHERE 子句和参数是否正常工作。
  • 我设置了一个断点,它向我表明该语句与参数和其他东西很好......
  • 您是否确认您的应用程序对您的数据库具有 UPDATE 权限?

标签: asp.net sql database ms-access sql-update


【解决方案1】:

手动运行 SQL 命令并确保您的逻辑正确......您的 UPDATE 可能正在运行但没有执行任何操作,因为您的 WHERE 没有找到您传入的 OID。

【讨论】:

    猜你喜欢
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 2020-07-02
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多