2012-09-04 62 views
0

我有一個網頁,它顯示之前捕獲的數據。現在這個數據來自數據庫,屬於數據庫表的多個記錄。當用戶更新這些數據時,我們必須更新我們的數據庫記錄。問題是我無法跟蹤哪些記錄已被修改,因爲我們沒有會話。所以我再次獲取所有記錄並與網頁中的數據進行比較。如果有人知道更好的方法(避免比較),請幫助我。如何在不保持會話的情況下避免比較?

+2

我認爲這不是一個好的做法,你應該在這裏使用某種數據綁定機制。通常開發人員不應該擔心這些事情。請深入研究數據綁定主題,您將更好地瞭解如何處理這種情況。 – Geethanga

回答

1

使用記錄的主鍵來識別它。 當您渲染表單以編輯記錄時,您可以在隱藏字段中輸出主鍵。

如果你有一個頁面,允許同時更新多個記錄,比你能跳過比較和隨時更新的所有記錄 - 如果你使用2008 MSSQL或更新版本,您可以使用表值參數來傳遞所有在一次調用中將記錄記錄到數據庫並使用MERGE命令進行批量更新。

你也可以編寫javascript,它會觸發每個輸入編輯,併爲修改後的記錄(隱藏字段)設置一個'髒'標誌。你會知道哪些行被編輯。

+0

感謝您的回覆@Jakub。但是如果用戶刪除了某些東西(某些記錄),怎麼檢測那個呢? –

+0

您可以使用值爲'deleted'而不是'edited'的'dirty'標誌。對於新記錄將標誌設置爲「新」。 –

+0

如果我們不想進行批量更新,您可以詳細解釋一下它是如何避免比較的。 –

相關問題