Show / Hide Table of Contents

    Class MsAccessBulkUpdate

    Class for fast bulk data update for Microsoft Access.

    Inheritance
    System.Object
    Kros.Data.BulkActions.BulkUpdateBase
    MsAccessBulkUpdate
    Implements
    Kros.Data.BulkActions.IBulkUpdate
    Inherited Members
    Kros.Data.BulkActions.BulkUpdateBase.PrefixTempTable
    Kros.Data.BulkActions.BulkUpdateBase._connection
    Kros.Data.BulkActions.BulkUpdateBase._disposeOfConnection
    Kros.Data.BulkActions.BulkUpdateBase.Update(Kros.Data.BulkActions.IBulkActionDataReader)
    Kros.Data.BulkActions.BulkUpdateBase.UpdateAsync(Kros.Data.BulkActions.IBulkActionDataReader)
    Kros.Data.BulkActions.BulkUpdateBase.Update(System.Data.IDataReader)
    Kros.Data.BulkActions.BulkUpdateBase.UpdateAsync(System.Data.IDataReader)
    Kros.Data.BulkActions.BulkUpdateBase.Update(System.Data.DataTable)
    Kros.Data.BulkActions.BulkUpdateBase.UpdateAsync(System.Data.DataTable)
    Kros.Data.BulkActions.BulkUpdateBase.DoneTempTableAsync(System.String, System.Boolean)
    Kros.Data.BulkActions.BulkUpdateBase.GetColumnNamesForTempTable(System.Data.IDataReader)
    Kros.Data.BulkActions.BulkUpdateBase.GetUpdateColumnNames(System.Data.IDataReader, System.String)
    Kros.Data.BulkActions.BulkUpdateBase.Dispose()
    Kros.Data.BulkActions.BulkUpdateBase.ExternalTransaction
    Kros.Data.BulkActions.BulkUpdateBase.DestinationTableName
    Kros.Data.BulkActions.BulkUpdateBase.TempTableAction
    Kros.Data.BulkActions.BulkUpdateBase.PrimaryKeyColumn
    Namespace: Kros.Data.BulkActions.MsAccess
    Assembly: Kros.Utils.MsAccess.dll
    Syntax
    public class MsAccessBulkUpdate : BulkUpdateBase, IBulkUpdate, IDisposable
    Remarks

    The bulk update uses a temporary database.

    Examples
            private class BulkUpdateItem
      {
          public int Id { get; set; }
          public string Name { get; set; }
      }
    
      public void UpdateManyItems()
      {
          IEnumerable<BulkUpdateItem> data = GetItems();
    
          using (var reader = new EnumerableDataReader<BulkUpdateItem>(data, new string[] { "Id", "Name" }))
          {
              using (var bulkUpdate = new MsAccessBulkUpdate("connection string"))
              {
                  bulkUpdate.Update(reader);
              }
          }
      }

    Constructors

    MsAccessBulkUpdate(OleDbConnection)

    Creates new instance of MsAccessBulkUpdate for database connection.

    Declaration
    public MsAccessBulkUpdate(OleDbConnection connection)
    Parameters
    Type Name Description
    System.Data.OleDb.OleDbConnection connection

    Database connection where the data will be inserted. The connection mus be opened.

    MsAccessBulkUpdate(OleDbConnection, OleDbTransaction)

    Creates new instance of MsAccessBulkUpdate for database connection and with transaction externalTransaction.

    Declaration
    public MsAccessBulkUpdate(OleDbConnection connection, OleDbTransaction externalTransaction)
    Parameters
    Type Name Description
    System.Data.OleDb.OleDbConnection connection

    Database connection where the data will be inserted. The connection mus be opened. If there already is running transaction in this connection, it must be specified in externalTransaction.

    System.Data.OleDb.OleDbTransaction externalTransaction

    Transaction in which the bulk insert will be performed.

    MsAccessBulkUpdate(String)

    Creates new instance of MsAccessBulkUpdate for database connectionString.

    Declaration
    public MsAccessBulkUpdate(string connectionString)
    Parameters
    Type Name Description
    System.String connectionString

    Connection string to the database where the data will be inserted.

    Methods

    CreateBulkInsert()

    Declaration
    protected override IBulkInsert CreateBulkInsert()
    Returns
    Type Description
    Kros.Data.BulkActions.IBulkInsert
    Overrides
    Kros.Data.BulkActions.BulkUpdateBase.CreateBulkInsert()

    CreateCommandForPrimaryKey()

    Declaration
    protected override IDbCommand CreateCommandForPrimaryKey()
    Returns
    Type Description
    System.Data.IDbCommand
    Overrides
    Kros.Data.BulkActions.BulkUpdateBase.CreateCommandForPrimaryKey()

    CreateTempTable(IDataReader, String)

    Declaration
    protected override void CreateTempTable(IDataReader reader, string tempTableName)
    Parameters
    Type Name Description
    System.Data.IDataReader reader
    System.String tempTableName
    Overrides
    Kros.Data.BulkActions.BulkUpdateBase.CreateTempTable(System.Data.IDataReader, System.String)

    Dispose(Boolean)

    Declaration
    protected override void Dispose(bool disposing)
    Parameters
    Type Name Description
    System.Boolean disposing
    Overrides
    Kros.Data.BulkActions.BulkUpdateBase.Dispose(System.Boolean)

    GetTempTableName()

    Declaration
    protected override string GetTempTableName()
    Returns
    Type Description
    System.String
    Overrides
    Kros.Data.BulkActions.BulkUpdateBase.GetTempTableName()

    GetTempTableNameForBulkInsert(String)

    Declaration
    protected override string GetTempTableNameForBulkInsert(string name)
    Parameters
    Type Name Description
    System.String name
    Returns
    Type Description
    System.String
    Overrides
    Kros.Data.BulkActions.BulkUpdateBase.GetTempTableNameForBulkInsert(System.String)

    InvokeAction(String)

    Declaration
    protected override void InvokeAction(string tempTableName)
    Parameters
    Type Name Description
    System.String tempTableName
    Overrides
    Kros.Data.BulkActions.BulkUpdateBase.InvokeAction(System.String)

    UpdateDestinationTableAsync(IDataReader, String, Boolean)

    Declaration
    protected override Task UpdateDestinationTableAsync(IDataReader reader, string tempTableName, bool useAsync)
    Parameters
    Type Name Description
    System.Data.IDataReader reader
    System.String tempTableName
    System.Boolean useAsync
    Returns
    Type Description
    System.Threading.Tasks.Task
    Overrides
    Kros.Data.BulkActions.BulkUpdateBase.UpdateDestinationTableAsync(System.Data.IDataReader, System.String, System.Boolean)

    Implements

    Kros.Data.BulkActions.IBulkUpdate
    Back to top KROS a.s.