There are several ways to get the schema from a database. The VistaDBConnection.GetSchema is one of the best starting points to determine what you need to drill down into for more information.
See the complete MSDN Article on working with GetSchema calls.
The default call gives you a list of all the types of schema collections you can request, and how many restrictions they require. Drill down with calls to the GetSchema with the specific collection name, and restrictions for more detailed information (like FOREIGNKEYS, VIEWS, etc).
GetSchema Example |
Copy Code
|
---|---|
using( VistaDB.Provider.VistaDBConnection connection = new VistaDB.Provider.VistaDBConnection("Data Source=" + dbName) ) { connection.Open(); DataTable schema = connection.GetSchema(); foreach (DataRow myField in schema.Rows) { foreach (DataColumn myProperty in schema.Columns) { System.Diagnostics.Debug.WriteLine(myProperty.ColumnName + " = " + myField[myProperty].ToString()); } } } |
Some of the collection types you can ask for are:
DATATYPES
COLUMNS
INDEXES
INDEXCOLUMNS
TABLES
FOREIGNKEYS
FOREIGNKEYCOLUMNS
RESERVEDWORDS
VIEWS
VIEWCOLUMNS
PROCEDURES
PROCEDUREPARAMETERS
RESTRICTIONS
We have created an enum of these constant values for you to use in your code (rather than using the text).
VistaDBConnection.SchemaConstants contains all the valid collections you may request from GetSchema.
In your code you would use something like this:
That would pull all the schema_columns information with no restrictions.