c# - 在 .NET 1.1 中使用数据集更新 oracle

标签 c# .net oracle

我已经完成了一段代码,我使用 .NET 2.0 中的 adapter.Update 方法将给定的数据集更新到 oracle 数据库中 然而,同一段代码给出了异常 “当传递带有新行的 DataRow 集合时,更新需要有效的 InsertCommand”

如果我遍历数据集并插入每一行,这会花费很多时间(超过 5000 条记录)。

请提出一种将整个数据集一次更新到数据库中的方法。

提前致谢

最佳答案

这样做的方法是一次一行


conn=objDbClass.open_connection();
string cmdStr = "select COL1, COL2   from MY_TABLE";
OleDbDataAdapter adapter = new OleDbDataAdapter(cmdStr, conn);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
DataSet dataset1 = new DataSet();
adapter.Fill(dataset1,"Table1");
string err_txt="";
int err_cnt=0;
int call_no=Find_CallNo();
for (int arcnt=0;arcnt
DataRow dr1=dataset1.Tables[0].NewRow();
dr1["COL1"]=drxl["COL1"].ToString();
dr1["COL2"]=drxl["COL2"].ToString();
dataset1.Tables[0].Rows.Add(dr1);
int no_updated_rows = adapter.Update(dataset1,"Table1");
int len = xlds.Tables[0].Columns.Count;
}
}
}

此处的每一行都是从 excel 中读取并放置在数据集的数据表中。然后调用数据适配器的更新函数。因此,如果数据集有 40 行,更新函数将被调用 40 次。

关于c# - 在 .NET 1.1 中使用数据集更新 oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9139642/

相关文章:

java - 如何将Oracle驱动程序依赖添加到Spring Data Flow Server?

c# - postsharp 异常为空

c# - 这个 LINQ 示例的复杂性是什么?

database - 如何在列上创建约束,以便需要在列中输入值?

java - 有人可以向我解释这个 JDBC 异常吗?

c# - .Net 垃圾收集器中写入障碍的详细信息

c# - 如何通过 Windows Mobile 6 使用存储管理器 API 格式化 SD 卡

c# - 删除在 ASP.NET MVC 中经过身份验证的用户

c# - Winforms:如何在透明窗体上获取鼠标事件以进行透明控制

c# - 多播委托(delegate) : Different behavior when adding method references to a delegate in other methods