我有一个表于数据库如下:甲骨文批量复制重复行
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