Show / Hide Table of Contents

    Class MsAccessSchemaLoader

    The implementation of IDatabaseSchemaLoader<T> for Microsoft Access.

    Inheritance
    System.Object
    MsAccessSchemaLoader
    Implements
    IDatabaseSchemaLoader<System.Data.OleDb.OleDbConnection>
    IDatabaseSchemaLoader
    Namespace: Kros.Data.Schema.MsAccess
    Assembly: Kros.Utils.MsAccess.dll
    Syntax
    public class MsAccessSchemaLoader : IDatabaseSchemaLoader<OleDbConnection>, IDatabaseSchemaLoader

    Methods

    GetDefaultValueString(String)

    Adjusts the string rawDefaultValueString so column's default value can be obtained from it.

    Declaration
    protected virtual string GetDefaultValueString(string rawDefaultValueString)
    Parameters
    Type Name Description
    System.String rawDefaultValueString

    Default value string as it is stored in database.

    Returns
    Type Description
    System.String

    Adjusted string - trimmed of unneeded characters.

    LoadSchema(OleDbConnection)

    Loads database schema for connection.

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

    Database connection.

    Returns
    Type Description
    DatabaseSchema

    Database schema.

    Remarks

    Loading schema creates a new connection to database based on connection. If loading with new connection fails (for example input connection is exclusive), schema is loaded using input connection directly.

    Exceptions
    Type Condition
    System.ArgumentNullException

    Value of connection id null.

    System.ArgumentException

    The connection connection is not a connection to Microsoft Access database.

    LoadTableSchema(OleDbConnection, String)

    Loads table schema for table tableName in database connection.

    Declaration
    public TableSchema LoadTableSchema(OleDbConnection connection, string tableName)
    Parameters
    Type Name Description
    System.Data.OleDb.OleDbConnection connection

    Database connection.

    System.String tableName

    Table name.

    Returns
    Type Description
    TableSchema

    Table schema, or value null if specified table does not exist.

    Remarks

    Loading schema creates a new connection to database based on connection. If loading with new connection fails (for example input connection is exclusive), schema is loaded using input connection directly.

    Exceptions
    Type Condition
    System.ArgumentNullException
    System.ArgumentException

    Value of tableName is an empty string, or string containing whitespace characters only.

    OnParseDefaultValue(MsAccessParseDefaultValueEventArgs)

    Raises the ParseDefaultValue event with arguments e.

    Declaration
    protected virtual void OnParseDefaultValue(MsAccessParseDefaultValueEventArgs e)
    Parameters
    Type Name Description
    MsAccessParseDefaultValueEventArgs e

    Arguments for the event.

    SupportsConnectionType(OleDbConnection)

    Checks if it is poosible to load database schema for connection.

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

    Database connection.

    Returns
    Type Description
    System.Boolean

    false if value of connection is null, or it is not a connection to Microsoft Access database. Otherwise true.

    Events

    ParseDefaultValue

    Event raised while parsing default value of a column. It is possible to use custom parsing logic in the event handler.

    Declaration
    public event EventHandler<MsAccessParseDefaultValueEventArgs> ParseDefaultValue
    Event Type
    Type Description
    System.EventHandler<MsAccessParseDefaultValueEventArgs>
    Remarks

    When custom logic for parsing column's default value is used, the parsed value is set in DefaultValue property and Handled flag must be set to true.

    Explicit Interface Implementations

    IDatabaseSchemaLoader.LoadSchema(Object)

    Loads database schema for connection.

    Declaration
    DatabaseSchema IDatabaseSchemaLoader.LoadSchema(object connection)
    Parameters
    Type Name Description
    System.Object connection

    Database connection.

    Returns
    Type Description
    DatabaseSchema

    Database schema.

    Remarks

    By default, schema is loaded using new connection to the database, based on connection. But if connection is an exclusive connection, it is used directly.

    Exceptions
    Type Condition
    System.ArgumentNullException

    The value of connection is null.

    System.ArgumentException

    The connection connection is not a connection to Microsoft Access database.

    IDatabaseSchemaLoader.LoadTableSchema(Object, String)

    Loads table schema for table tableName in database connection.

    Declaration
    TableSchema IDatabaseSchemaLoader.LoadTableSchema(object connection, string tableName)
    Parameters
    Type Name Description
    System.Object connection

    Database connection.

    System.String tableName

    Table name.

    Returns
    Type Description
    TableSchema

    Table schema, or value null if specified table does not exist.

    Remarks

    By default, schema is loaded using new connection to the database, based on connection. But if connection is an exclusive connection, it is used directly.

    Exceptions
    Type Condition
    System.ArgumentNullException

    The value of connection or tableName is null.

    System.ArgumentException

    IDatabaseSchemaLoader.SupportsConnectionType(Object)

    Declaration
    bool IDatabaseSchemaLoader.SupportsConnectionType(object connection)
    Parameters
    Type Name Description
    System.Object connection
    Returns
    Type Description
    System.Boolean

    Implements

    IDatabaseSchemaLoader<T>
    IDatabaseSchemaLoader
    Back to top KROS a.s.