/// <summary>
/// 增加DataSet
/// </summary>
/// <param name="ds">Oracle DataSet</param>
/// <param name="tableName">tableName</param>
public int AddDataSet(DataSet ds1, string tableName)
{
string sql = "select * from " + tableName;
int judge= 0;
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlDataAdapter da;
try
{
DataSet ds = new DataSet();
connection.Open();
da = new SqlDataAdapter(sql, connection);
SqlCommandBuilder sb = new SqlCommandBuilder(da);
da.InsertCommand = sb.GetInsertCommand();
da.Fill(ds, "ds");
// 合并Oracle-Sql DataSet
ds.Merge(ds1);
judge = da.Update(ds,"ds");
ds.AcceptChanges();
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
}
return judge;
}方法介绍:数据更新用:把Oracle的数据更新到Sql Server 。根据相同的数据库表名(结构一样)称,从oracle数据库读取到的DataSet和Sql Server的DataSet(无数据)进行Merge()合并(成功),得到要更新的DataSet,然后使用Update更新到Sql Server.。前面都没问题,
judge = da.Update(ds,"ds");
不进行更新.合并UpdateSqlCommandBuilder InsertCommand
/// 增加DataSet
/// </summary>
/// <param name="ds">Oracle DataSet</param>
/// <param name="tableName">tableName</param>
public int AddDataSet(DataSet ds1, string tableName)
{
string sql = "select * from " + tableName;
int judge= 0;
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlDataAdapter da;
try
{
DataSet ds = new DataSet();
connection.Open();
da = new SqlDataAdapter(sql, connection);
SqlCommandBuilder sb = new SqlCommandBuilder(da);
da.InsertCommand = sb.GetInsertCommand();
da.Fill(ds, "ds");
// 合并Oracle-Sql DataSet
ds.Merge(ds1);
judge = da.Update(ds,"ds");
ds.AcceptChanges();
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
}
return judge;
}方法介绍:数据更新用:把Oracle的数据更新到Sql Server 。根据相同的数据库表名(结构一样)称,从oracle数据库读取到的DataSet和Sql Server的DataSet(无数据)进行Merge()合并(成功),得到要更新的DataSet,然后使用Update更新到Sql Server.。前面都没问题,
judge = da.Update(ds,"ds");
不进行更新.合并UpdateSqlCommandBuilder InsertCommand
foreach (DataRow dr in ds.Tables[0].Rows)
{
dr.SetAdded();
}
da.Update(ds,"ds");