我有一個表於數據庫如下:甲骨文批量複製重複行
id min max
---------------------
1 0 20
2 21 30
3 31 40
我顯示在網格視圖此表(asp.net),其中用戶可以插入新的行,更新現有的和刪除任何行。這是我存儲在數據表中的所有操作。 更新,插入,刪除記錄,當用戶希望保存時,他或她按下保存按鈕,並將此修改後的數據表保存在數據庫(與填充網格視圖的位置相同的表中)。要更新數據庫,我正在使用OracleBulkCopy
類。 現在的問題是,當我更新數據庫到數據庫時,它正在重複已存在的行。例如,如果我提出在網格視圖改變上面的表格,並更新到數據庫則:
id min max
------------------
1 0 20
2 21 30
3 31 40
1 0 20
2 21 35 (updated)
3 31 40
4 41 60 (newly inserted)
我不想這樣重複。這裏id
是主鍵 ,我試圖下面的代碼OracleBulkCopy
:
Oracle.DataAccess.Client.OracleBulkCopy oracleBulkCopy = new Oracle.DataAccess.Client.OracleBulkCopy(DM.ConnectionString, Oracle.DataAccess.Client.OracleBulkCopyOptions.UseInternalTransaction);
oracleBulkCopy.DestinationTableName = "RANGE";
oracleBulkCopy.WriteToServer(dataTable);
這種「解決方法」可能足以完成作業,但它確實不適用於真正的應用程序,即性能至關重要的應用程序。 – APC 2012-02-14 13:11:24
@APC你會建議什麼? – alwaysVBNET 2014-11-06 11:27:58