asp-classic
2010-12-17 56 views 0 likes 
0

我正在編寫經典的ASP程序。在一個函數中,我必須在一個函數中使用2個更新語句。第一個聲明是更新發票的數量,第二個更新聲明基於更新的採購訂單數量和採購申請數量,我需要更新一個標誌字段。我可以寫如下功能:經典ASP:在單個函數中執行2個更新語句

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

這應該工作正常。你的錯誤是什麼? P.S.請不要忘記逃避你的變數! – Hobbes 2010-12-17 05:54:23

+0

感謝您的回覆..轉義變量現在工作。 – RedsDevils 2010-12-17 06:28:05

回答

1

好了,我得走了,但一定要檢查以下內容:

  1. 的Response.Write(RS.RecordCount) - 是否有任何記錄?或者,在循環內部做一個Response.Write(「hello」)來確保。
  2. 檢查RS(「數量」),參數等不爲空。如果他們是,你的字符串連接將導致一個空字符串。

另外,請不要忘記逃避你的變量!

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

晚安!

+0

非常感謝!轉義變量現在可以工作。非常感謝你的回覆。 – RedsDevils 2010-12-17 06:28:46

相關問題