Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用.NET 1.1中的数据集更新oracle_C#_.net_Oracle - Fatal编程技术网

C# 使用.NET 1.1中的数据集更新oracle

C# 使用.NET 1.1中的数据集更新oracle,c#,.net,oracle,C#,.net,Oracle,我编写了一段代码,其中使用.NET2.0中的adapter.update方法将给定的数据集更新到oracle数据库中 然而,同一段代码给出了一个例外 “当用新行传递DataRow集合时,更新需要有效的InsertCommand” 如果我遍历数据集并插入每一行,则需要花费大量时间(超过5000条记录) 请建议一种方法,一次将整个数据集更新到数据库中 提前感谢这样做的方法是一次一行 conn=objDbClass.open_connection(); string cmdStr=“从我的表格中选择

我编写了一段代码,其中使用.NET2.0中的adapter.update方法将给定的数据集更新到oracle数据库中 然而,同一段代码给出了一个例外 “当用新行传递DataRow集合时,更新需要有效的InsertCommand”

如果我遍历数据集并插入每一行,则需要花费大量时间(超过5000条记录)

请建议一种方法,一次将整个数据集更新到数据库中


提前感谢

这样做的方法是一次一行


conn=objDbClass.open_connection();
string cmdStr=“从我的表格中选择COL1、COL2”;
OleDbDataAdapter=新的OleDbDataAdapter(cmdStr,conn);
OleDbCommandBuilder=新的OleDbCommandBuilder(适配器);
DataSet dataset1=新数据集();
适配器填充(数据集1,“表1”);
字符串err_txt=“”;
int err_cnt=0;
int call_no=Find_CallNo();
对于(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(数据集1,“表1”);
int len=xlds.Tables[0].Columns.Count;
}
}
}


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

执行此操作的方法是一次调用一行


conn=objDbClass.open_connection();
string cmdStr=“从我的表格中选择COL1、COL2”;
OleDbDataAdapter=新的OleDbDataAdapter(cmdStr,conn);
OleDbCommandBuilder=新的OleDbCommandBuilder(适配器);
DataSet dataset1=新数据集();
适配器填充(数据集1,“表1”);
字符串err_txt=“”;
int err_cnt=0;
int call_no=Find_CallNo();
对于(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(数据集1,“表1”);
int len=xlds.Tables[0].Columns.Count;
}
}
}

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


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;
}
}
}