C# Class Microsoft.Samples.PowerShell.Providers.AccessDBProvider

Inheritance: System.Management.Automation.Provider.NavigationCmdletProvider, IContentCmdletProvider
Datei anzeigen Open project: Huddle/Puddle Class Usage Examples

Protected Methods

Method Description
CopyItem ( string path, string copyPath, bool recurse ) : void

The Windows PowerShell engine calls this method when the Copy-Item cmdlet is run. This method copies an item at the specified path to the location specified.

GetChildItems ( string path, bool recurse ) : void

The Windows PowerShell engine calls this method when the Get-ChildItem cmdlet is run. This provider returns either the tables in the database or the rows of the table.

GetChildName ( string path ) : string

Gets the name of the leaf element in the specified path.

GetChildNames ( string path, ReturnContainers returnContainers ) : void

Return the names of all child items.

GetItem ( string path ) : void

The Windows PowerShell engine calls this method when the Get-Item cmdlet is run.

GetParentPath ( string path, string root ) : string

Returns the parent portion of the path, removing the child segment of the path.

HasChildItems ( string path ) : bool

Determines if the specified path has child items.

IsItemContainer ( string path ) : bool

Determine if the path specified is that of a container.

IsValidPath ( string path ) : bool

Test to see if the specified path is syntactically valid.

ItemExists ( string path ) : bool

Test to see if the specified item exists.

MakePath ( string parent, string child ) : string

Joins two strings with a provider specific path separator.

MoveItem ( string path, string destination ) : void

The Windows PowerShell engine calls this method when the Move-Item cmdlet is run. This provider moves the item specified by the path to the specified destination.

NewDrive ( System.Management.Automation.PSDriveInfo drive ) : System.Management.Automation.PSDriveInfo

The Windows PowerShell engine calls this method when the New-Drive cmdlet is run. This provider creates a connection to the database file and sets the Connection property in the PSDriveInfo.

NewItem ( string path, string type, object newItemValue ) : void

The Windows PowerShell engine calls this method when the New-Item cmdlet is run. This method creates a new item at the specified path.

NormalizeRelativePath ( string path, string basepath ) : string

Normalizes the path so that it is a relative path to the basePath that was passed.

RemoveDrive ( System.Management.Automation.PSDriveInfo drive ) : System.Management.Automation.PSDriveInfo

The Windows PowerShell engine calls this method when the Remove-Drive cmdlet is run. This provider removes a drive from the Access database.

RemoveItem ( string path, bool recurse ) : void

The Windows PowerShell engine calls this method when the Remove-Item cmdlet is run. This method removes (deletes) the item at the specified path.

There are no elements in this store which are hidden from the user. Hence this method will not check for the presence of the Force parameter

SetItem ( string path, object values ) : void

The Windows PowerShell engine calls this method when the Set-Item cmdlet is run. This provider sets the content of a row of data specified by the supplied path parameter.

Private Methods

Method Description
ChunkPath ( string path ) : string[]

Separates the path into individual elements.

GetAdapterForTable ( string tableName ) : System.Data.Odbc.OdbcDataAdapter

Obtain a data adapter for the specified Table

An adapter serves as a bridge between a DataSet (in memory representation of table) and the data source

GetDataSetForTable ( System.Data.Odbc.OdbcDataAdapter adapter, string tableName ) : DataSet

Gets the DataSet (in memory representation) for the table for the specified adapter

GetDataTable ( DataSet ds, string tableName ) : DataTable

Get the DataTable object which can be used to operate on for the specified table in the data source

GetNamesFromPath ( string path, string &tableName, int &rowNumber ) : PathType

Returns the table name and the row number from the path.

GetNextID ( DataTable table ) : int

Gets the next available ID in the table

GetRow ( string tableName, int row ) : DatabaseRowInfo

Retrieves a single row from the named table.

GetRows ( string tableName ) : Collection

Return row information from a specified table.

GetTable ( string tableName ) : DatabaseTableInfo

Retrieve information about a single table.

GetTables ( ) : Collection

Retrieve the list of tables from the database.

NormalizePath ( string path ) : string

Adapts the path, making sure the correct path separator character is used.

PathIsDrive ( string path ) : bool

Checks to see if a given path is actually a drive name.

RemoveDriveFromPath ( string path ) : string

Ensures that the drive is removed from the specified path.

RemoveTable ( string tableName ) : void

Removes the specified table from the database

SafeConvertRowNumber ( string rowNumberAsStr ) : int

Method to safely convert a string representation of a row number into its Int32 equivalent

If there is an exception, -1 is returned

TableIsPresent ( string tableName ) : bool

Checks to see if the specified table is present in the database.

TableNameIsValid ( string tableName ) : bool

Checks to see if the table name is valid.

Helps to check for SQL injection attacks

ThrowTerminatingInvalidPathException ( string path ) : void

Throws an argument exception stating that the specified path does not represent either a table or a row

Method Details

CopyItem() protected method

The Windows PowerShell engine calls this method when the Copy-Item cmdlet is run. This method copies an item at the specified path to the location specified.
protected CopyItem ( string path, string copyPath, bool recurse ) : void
path string /// Path to the item to copy. ///
copyPath string /// Path to the item to copy to. ///
recurse bool /// Tells the provider to recurse subcontainers when copying. ///
return void

GetChildItems() protected method

The Windows PowerShell engine calls this method when the Get-ChildItem cmdlet is run. This provider returns either the tables in the database or the rows of the table.
protected GetChildItems ( string path, bool recurse ) : void
path string The path to the parent item.
recurse bool A Boolean value that indicates true to return all /// child items recursively. ///
return void

GetChildName() protected method

Gets the name of the leaf element in the specified path.
protected GetChildName ( string path ) : string
path string /// The full or partial provider specific path. ///
return string

GetChildNames() protected method

Return the names of all child items.
protected GetChildNames ( string path, ReturnContainers returnContainers ) : void
path string The root path.
returnContainers ReturnContainers This parameter is not used.
return void

GetItem() protected method

The Windows PowerShell engine calls this method when the Get-Item cmdlet is run.
protected GetItem ( string path ) : void
path string The path to the item to return.
return void

GetParentPath() protected method

Returns the parent portion of the path, removing the child segment of the path.
protected GetParentPath ( string path, string root ) : string
path string /// A full or partial provider specific path. The path may be to an /// item that may or may not exist. ///
root string /// The fully qualified path to the root of a drive. This parameter /// may be null or empty if a mounted drive is not in use for this /// operation. If this parameter is not null or empty the result /// of the method should not be a path to a container that is a /// parent or in a different tree than the root. ///
return string

HasChildItems() protected method

Determines if the specified path has child items.
protected HasChildItems ( string path ) : bool
path string The path to examine.
return bool

IsItemContainer() protected method

Determine if the path specified is that of a container.
protected IsItemContainer ( string path ) : bool
path string The path to check.
return bool

IsValidPath() protected method

Test to see if the specified path is syntactically valid.
protected IsValidPath ( string path ) : bool
path string The path to validate.
return bool

ItemExists() protected method

Test to see if the specified item exists.
protected ItemExists ( string path ) : bool
path string The path to the item to verify.
return bool

MakePath() protected method

Joins two strings with a provider specific path separator.
protected MakePath ( string parent, string child ) : string
parent string /// The parent segment of a path to be joined with the child. ///
child string /// The child segment of a path to be joined with the parent. ///
return string

MoveItem() protected method

The Windows PowerShell engine calls this method when the Move-Item cmdlet is run. This provider moves the item specified by the path to the specified destination.
protected MoveItem ( string path, string destination ) : void
path string /// The path to the item to be moved. ///
destination string /// The path of the destination container. ///
return void

NewDrive() protected method

The Windows PowerShell engine calls this method when the New-Drive cmdlet is run. This provider creates a connection to the database file and sets the Connection property in the PSDriveInfo.
protected NewDrive ( System.Management.Automation.PSDriveInfo drive ) : System.Management.Automation.PSDriveInfo
drive System.Management.Automation.PSDriveInfo /// Information describing the drive to create. ///
return System.Management.Automation.PSDriveInfo

NewItem() protected method

The Windows PowerShell engine calls this method when the New-Item cmdlet is run. This method creates a new item at the specified path.
protected NewItem ( string path, string type, object newItemValue ) : void
path string The path to the new item.
type string The type of object to create. A "Table" object /// for creating a new table and a "Row" object for creating a new row /// in a table. ///
newItemValue object /// Object for creating a new instance at the specified path. For /// creating a "Table" the object parameter is ignored and for creating /// a "Row" the object must be of type string, which will contain comma /// separated values of the rows to insert. ///
return void

NormalizeRelativePath() protected method

Normalizes the path so that it is a relative path to the basePath that was passed.
protected NormalizeRelativePath ( string path, string basepath ) : string
path string /// A fully qualified provider specific path to an item. The item /// should exist or the provider should write out an error. ///
basepath string /// The path that the return value should be relative to. ///
return string

RemoveDrive() protected method

The Windows PowerShell engine calls this method when the Remove-Drive cmdlet is run. This provider removes a drive from the Access database.
protected RemoveDrive ( System.Management.Automation.PSDriveInfo drive ) : System.Management.Automation.PSDriveInfo
drive System.Management.Automation.PSDriveInfo The drive to remove.
return System.Management.Automation.PSDriveInfo

RemoveItem() protected method

The Windows PowerShell engine calls this method when the Remove-Item cmdlet is run. This method removes (deletes) the item at the specified path.
There are no elements in this store which are hidden from the user. Hence this method will not check for the presence of the Force parameter
protected RemoveItem ( string path, bool recurse ) : void
path string The path to the item to remove.
recurse bool /// True if all children in a subtree should be removed, false if only /// the item at the specified path should be removed. Is applicable /// only for container (table) items. Its ignored otherwise (even if /// specified). ///
return void

SetItem() protected method

The Windows PowerShell engine calls this method when the Set-Item cmdlet is run. This provider sets the content of a row of data specified by the supplied path parameter.
protected SetItem ( string path, object values ) : void
path string Specifies the path to the row whose columns /// will be updated.
values object Comma separated string of values
return void