/// <summary> /// Performs all update operations for changed rows in a table /// </summary> public int SaveChanges(DataTable dataTable) { if (dataTable == null) { throw new ArgumentNullException("dataTable"); } DataTableCommandBuilder builder = CreateCommandBuilder(dataTable, Connection); builder.SequenceName = SequenceName; DbDataAdapter dataAdapter = _providerFactory.CreateDataAdapter(); dataAdapter.UpdateCommand = builder.UpdateCommand; dataAdapter.DeleteCommand = builder.DeleteCommand; dataAdapter.InsertCommand = builder.InsertCommand; // enroll in transactions EnrollInTransaction(dataAdapter.UpdateCommand); EnrollInTransaction(dataAdapter.DeleteCommand); EnrollInTransaction(dataAdapter.InsertCommand); if (BeforeSaveChanges != null) { var args = new TableSaveEventArgs(dataAdapter, dataTable); BeforeSaveChanges(this, args); if (args.Cancel) { throw new OperationCanceledException("Save Changes Canceled"); } } return(dataAdapter.Update(dataTable)); }
/// <summary> /// Fills DataTable with simple text filter /// </summary> public void Fill(DataTable dataTable, string filter) { if (dataTable == null) { throw new ArgumentNullException("dataTable"); } DbDataAdapter dataAdapter = _providerFactory.CreateDataAdapter(); DataTableCommandBuilder builder = CreateCommandBuilder(dataTable, Connection); dataAdapter.SelectCommand = builder.GetSelectCommand(filter); dataAdapter.TableMappings.Add("Table", dataTable.TableName); dataAdapter.Fill(dataTable); }
/// <summary> /// Fills DataTable with filtered data. Parameters are passed /// using SqlParamater objects. /// </summary> public void Fill(DataTable dataTable, string filter, params object[] parameters) { if (dataTable == null) { throw new ArgumentNullException("dataTable"); } DbDataAdapter dataAdapter = _providerFactory.CreateDataAdapter(); DataTableCommandBuilder builder = CreateCommandBuilder(dataTable, Connection); dataAdapter.SelectCommand = builder.GetSelectCommand(filter); EnrollInTransaction(dataAdapter.SelectCommand); DataManager.AddParamsToCommand(dataAdapter.SelectCommand, SqlDialect, parameters); dataAdapter.TableMappings.Add("Table", dataTable.TableName); dataAdapter.Fill(dataTable); }
/// <summary> /// Performs all update operations for changed rows in a table /// </summary> public int SaveChanges(DataTable dataTable) { if (dataTable == null) { throw new ArgumentNullException("dataTable"); } DataTableCommandBuilder builder = CreateCommandBuilder(dataTable, Connection); builder.SequenceName = SequenceName; DbDataAdapter dataAdapter = _providerFactory.CreateDataAdapter(); dataAdapter.UpdateCommand = builder.UpdateCommand; dataAdapter.DeleteCommand = builder.DeleteCommand; dataAdapter.InsertCommand = builder.InsertCommand; return(dataAdapter.Update(dataTable)); }