/// 表数据刷新插入方法
/// </summary>
/// <param name="dsbyte"></param>
/// <returns></returns>
public bool BuilderBulkUpdatedData(byte[] dsbyte)
{
DataSet ds = (DataSet)G._DeserializeObj(dsbyte);//转化成数据集
DataTable dt = ds.Tables[0];
string sqlText = "select * from " + dt.TableName;
//byte[] ret = null;
Database db = CreateDatabase();
SqlConnection sqlCon = null;
using (DbConnection sqlConStr = db.CreateConnection())
{
SqlConnection conn = new SqlConnection(sqlConStr.ConnectionString);
SqlCommand comm = conn.CreateCommand();
comm.CommandTimeout = 500;
comm.CommandType = CommandType.Text;
SqlDataAdapter adapter = new SqlDataAdapter(comm);
SqlCommandBuilder commandBulider = new SqlCommandBuilder(adapter);
commandBulider.ConflictOption = ConflictOption.OverwriteChanges;
try
{
conn.Open();
//设置批量更新的每次处理条数
adapter.UpdateBatchSize = 5000;
adapter.SelectCommand.Transaction = conn.BeginTransaction();/开始事务
adapter.SelectCommand.CommandText = sqlText;
adapter.Update(dt);
adapter.SelectCommand.Transaction.Commit();/提交事务
conn.Close();
conn.Dispose();
return true;
}
catch (Exception ex)
{
if (adapter.SelectCommand != null && adapter.SelectCommand.Transaction != null)
{
adapter.SelectCommand.Transaction.Rollback();
}
conn.Close();
conn.Dispose();
return false;
}
}
}
/// </summary>
/// <param name="dsbyte"></param>
/// <returns></returns>
public bool BuilderBulkUpdatedData(byte[] dsbyte)
{
DataSet ds = (DataSet)G._DeserializeObj(dsbyte);//转化成数据集
DataTable dt = ds.Tables[0];
string sqlText = "select * from " + dt.TableName;
//byte[] ret = null;
Database db = CreateDatabase();
SqlConnection sqlCon = null;
using (DbConnection sqlConStr = db.CreateConnection())
{
SqlConnection conn = new SqlConnection(sqlConStr.ConnectionString);
SqlCommand comm = conn.CreateCommand();
comm.CommandTimeout = 500;
comm.CommandType = CommandType.Text;
SqlDataAdapter adapter = new SqlDataAdapter(comm);
SqlCommandBuilder commandBulider = new SqlCommandBuilder(adapter);
commandBulider.ConflictOption = ConflictOption.OverwriteChanges;
try
{
conn.Open();
//设置批量更新的每次处理条数
adapter.UpdateBatchSize = 5000;
adapter.SelectCommand.Transaction = conn.BeginTransaction();/开始事务
adapter.SelectCommand.CommandText = sqlText;
adapter.Update(dt);
adapter.SelectCommand.Transaction.Commit();/提交事务
conn.Close();
conn.Dispose();
return true;
}
catch (Exception ex)
{
if (adapter.SelectCommand != null && adapter.SelectCommand.Transaction != null)
{
adapter.SelectCommand.Transaction.Rollback();
}
conn.Close();
conn.Dispose();
return false;
}
}
}