经典ASP:在单个函数中执行2个更新语句

时间:2010-12-17 05:42:00

标签: asp-classic

我正在编写Classic ASP程序。在一个函数中,我必须在一个函数中对一个表使用2个update语句。 First Statement是更新发票数量,第二个更新声明是基于更新采购订单数量和采购申请数量,我需要更新一个标志字段。我可以写下以下相同的功能:

   SET RS = app.Execute("SELECT PRInvoiceNo, Quantity FROM PurchaseOrderDetails WHERE CoID='" & param & "'")
   do while RS.EOF=false
       app.Execute("UPDATE PurchaseRequisitionDetails SET PO_Quantity = PO_Quantity + " & RS("Quantity") & " WHERE CoID='" & param & "' AND PRInvoiceNo = '" & RS("PRInvoiceNo") & "'")
        app.Execute("UPDATE PurchaseRequisitionDetails SET FullyPaidFlag=CASE WHEN PO_Quantity >= Quantity THEN 1 ELSE 0 END  WHERE CoID='" & param & "' AND PRInvoiceNo = '" & RS("PRInvoiceNo") & "'")
   RS.MoveNext
   loop

问题在于循环中第一个语句是否正常工作。第二个不行。它能是什么?我可以这样做吗?

1 个答案:

答案 0 :(得分:1)

好吧,我必须去,但一定要查看以下内容:

  1. Response.Write(RS.RecordCount) - 有记录吗?或者,在循环中执行Response.Write(“hello”)以确保。
  2. 检查RS(“数量”),参数等是否为空。如果是,则字符串连接将导致空字符串。
  3. 另外,请不要忘记逃避变量!

    Replace(param, "'", "''")

    晚安!