#region 把DataSet中的一个DataTable更新回数据库,其中必须包含一个主健,更新时不可能使用存储过程
/// <summary>
/// 把DataSet中的一个DataTable更新回数据库,其中必须包含一个主健,更新时不可能使用存储过程
/// </summary>
/// <param name="dataSet">提供一组连接配置的用户对象</param>
/// <param name="cmdText">当前提供查询的SQL语句</param>
/// <param name="trans">事务,若不使用事务,则为null</param>
/// <param name="user">提供一组连接配置的用户对象</param>
/// <param name="accountWrapType">是否使用帐套,如果提供user则不会使用帐套</param>
/// <returns></returns>
private static bool UpdateDataSet(DataSet dataSet, string cmdText, SqlTransaction trans, DataBaseUser user,AccountWrapType accountWrapType)
{
bool result = true;
SqlConnection conn = null;
SqlDataAdapter dataAdapter = null;
SqlCommand cmd = new SqlCommand();
try
{
if (trans != null)
conn = trans.Connection;
else
conn = Borrow(user, accountWrapType);
PrepareCommand(cmd, conn, trans, cmdText, null, false);
dataAdapter = new SqlDataAdapter(cmd);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
dataAdapter.UpdateCommand = commandBuilder.GetUpdateCommand();
dataAdapter.Update(dataSet.GetChanges());
dataSet.AcceptChanges();
}
catch (Exception e)
{
//if (trans != null)
// {
//trans.Rollback();
//SqlServer.Return(conn);
// }
//result = false;
//DBException.Throw(e.Message);
}
finally
{
//if (trans == null)
// SqlServer.Return(user, conn);
//Dispose(dataAdapter, cmd);
}
return result;
}