我有數據輸入窗體像...進行批量插入/更新用
Data Entry Form http://img192.imageshack.us/img192/2478/inputform.jpg
有一些空行,其中一些具有價值。用戶可以更新現有值,也可以填充空行中的值。
我需要將這些值映射到我的數據庫表中,其中一些數據將作爲新行插入到數據庫中,並且現有記錄將被更新。
我需要你的建議,我如何用最好的方法完成這個場景。
感謝
我有數據輸入窗體像...進行批量插入/更新用
Data Entry Form http://img192.imageshack.us/img192/2478/inputform.jpg
有一些空行,其中一些具有價值。用戶可以更新現有值,也可以填充空行中的值。
我需要將這些值映射到我的數據庫表中,其中一些數據將作爲新行插入到數據庫中,並且現有記錄將被更新。
我需要你的建議,我如何用最好的方法完成這個場景。
感謝
對於每一行,我想有一個主鍵(隱藏),一個骯髒的標誌,和一個新的標誌。在網格中,您可以在進行更改時將「髒」標誌設置爲true。在用戶界面中添加新行時,您可以設置新標誌並生成主鍵(如果您爲鍵使用了GUID,這將最爲簡單)。然後,當你將這一切全部發回到服務器時,你會在新標誌被設置時插入並更新那些髒標誌。
數據提交完成後,您只需清除髒標誌和新標誌。
當然,如果數據由多個貢獻者共享,並且可以同時進行編輯,但如果不希望某人覆蓋另一個編輯人員,則會涉及更多的內容。
我會考慮使用ADO.net DataSets
和DataTables
作爲您的自定義數據網格的內存中的後備存儲。 ADO.net允許您從數據庫中批量加載數據集,並跟蹤插入,更新和刪除內存中的數據。完成後,您可以將存儲的事務批量處理回數據庫。
使用ADO.net的最大好處就是所有的變化跟蹤代碼都是爲您編寫的,並且該庫已部署到每個.net功能的機器上。
儘管目前還不流行,但您也可以使用XML序列化來發送ADO.net數據集以進行更改,然後將其發送回數據庫進行處理。
Google左右。關於如何使用ADO.net,實際上有成千上萬本書籍,教程和博客文章。
感謝:能否給我提供使用ADO.net的實現示例鏈接。 – 2010-01-15 06:53:15
你能不能詳細說明髒標誌和新標誌,怎麼處理。我的意思是在哪裏放置這些標誌以及如何處理這些標誌。我想你想說的是我必須爲每個gridview行添加隱藏字段dirtyflag和newflag? – 2010-01-15 06:01:33
是的,他們可以通過隱藏的領域完成。 – Jacob 2010-01-15 06:14:10