コード例 #1
0
        public SharpQuerySchemaClassCollection GetSchemaProcedureParameters(ISchemaClass schema)
        {
            SharpQuerySchemaClassCollection list = new SharpQuerySchemaClassCollection();
            DataTable            record          = null;
            SharpQuerySchemaEnum schematype      = SharpQuerySchemaEnum.ProcedureParameters;

            object[] restrictions = new object[] { schema.CatalogName, schema.SchemaName, schema.InternalName, "" };

            try
            {
                record = this.GetSchema(schematype, restrictions);
                SharpQueryParameter par = null;
                if (record != null)
                {
                    foreach (DataRow row in record.Rows)
                    {
                        par          = new SharpQueryParameter(this, schema.CatalogName, schema.SchemaName, schema.Name, row["PARAMETER_NAME"].ToString());
                        par.DataType = StringToDbType(row["DATA_TYPE"].ToString());
                        par.Type     = StringToParamDirection(row["PARAMETER_TYPE"].ToString());

                        if (par.Type != ParameterDirection.ReturnValue)
                        {
                            list.Add(par);
                        }
                    }
                }
            }
            catch (System.Exception)
            {
                list.Add(new SharpQueryNotSupported(this, "", "", "", "SharpQuerySchemaEnum.ProcedureParameters"));
            }

            return(list);
        }
コード例 #2
0
        public SharpQuerySchemaClassCollection GetSchemaProcedures(ISchemaClass schema)
        {
            SharpQuerySchemaClassCollection list = new SharpQuerySchemaClassCollection();
            DataTable            record          = null;
            SharpQuerySchemaEnum schematype      = SharpQuerySchemaEnum.Procedures;

            object[] restrictions = new object[] { schema.CatalogName, schema.SchemaName, "", "" };

            try
            {
                record = this.GetSchema(schematype, restrictions);

                if (record != null)
                {
                    foreach (DataRow row in record.Rows)
                    {
                        list.Add(new SharpQueryProcedure(this, row["PROCEDURE_CATALOG"].ToString(), row["PROCEDURE_SCHEMA"].ToString(), "", row["PROCEDURE_NAME"].ToString().Split(';')[0]));
                    }
                }
            }
            catch (System.Exception)
            {
                list.Add(new SharpQueryNotSupported(this, "", "", "", "SharpQuerySchemaEnum.Procedures"));
            }

            return(list);
        }
コード例 #3
0
        public SharpQuerySchemaClassCollection GetSchemaProcedureColumns(ISchemaClass schema)
        {
            SharpQuerySchemaClassCollection list = new SharpQuerySchemaClassCollection();
            DataTable            record          = null;
            SharpQuerySchemaEnum schematype      = SharpQuerySchemaEnum.ProcedureColumns;

            object[] restrictions = new object[] { schema.CatalogName, schema.SchemaName, schema.InternalName, "" };

            try
            {
                record = this.GetSchema(schematype, restrictions);

                if (record != null)
                {
                    foreach (DataRow row in record.Rows)
                    {
                        list.Add(new SharpQueryColumn(this, schema.CatalogName, schema.SchemaName, schema.Name, row["COLUMN_NAME"].ToString()));
                    }
                }
            }
            catch (System.Exception)
            {
                list.Add(new SharpQueryNotSupported(this, "", "", "", "SharpQuerySchemaEnum.ProcedureColumns"));
            }

            return(list);
        }
コード例 #4
0
        public SharpQuerySchemaClassCollection GetSchemaSchemas(ISchemaClass schema)
        {
            SharpQuerySchemaClassCollection list = new SharpQuerySchemaClassCollection();
            DataTable            record          = null;
            SharpQuerySchemaEnum schematype      = SharpQuerySchemaEnum.Schemata;

            object[] restrictions = new object[] { schema.CatalogName, "", "" };

            try
            {
                record = this.GetSchema(schematype, restrictions);

                if (record != null)
                {
                    foreach (DataRow row in record.Rows)
                    {
                        list.Add(new SharpQuerySchema(this, row["CATALOG_NAME"].ToString(), row["SCHEMA_NAME"].ToString(), "", row["SCHEMA_NAME"].ToString()));
                    }
                }
            }
            catch (System.Exception)
            {
                list.Add(new SharpQueryNotSupported(this, "", "", "", "SharpQuerySchemaEnum.Schemata"));
            }

            return(list);
        }
コード例 #5
0
        //
        // IConnection methods
        //

        public SharpQuerySchemaClassCollection GetSchemaCatalogs(ISchemaClass schema)
        {
            SharpQuerySchemaClassCollection list = new SharpQuerySchemaClassCollection();
            DataTable            record          = null;
            SharpQuerySchemaEnum schematype      = SharpQuerySchemaEnum.Catalogs;

            object[] restrictions = new object[] { schema.InternalName };

            try
            {
                record = this.GetSchema(schematype, restrictions);

                //TODO : add not supported schema code!

                if (record != null)
                {
                    foreach (DataRow row in record.Rows)
                    {
                        list.Add(new SharpQueryCatalog(this, row["CATALOG_NAME"].ToString(), "", "", row["CATALOG_NAME"].ToString()));
                    }
                }
            }
            catch (System.Exception)
            {
                list.Add(new SharpQueryNotSupported(this, "", "", "", "SharpQuerySchemaEnum.Catalogs"));
            }

            return(list);
        }
コード例 #6
0
		protected override DataTable GetSchema(SharpQuerySchemaEnum schema, object[] restrictions)
		{
			ADODB.SchemaEnum internalSchema = 0;
			ADODB.Recordset ADOrecord = null;

			switch (schema)
			{
				case SharpQuerySchemaEnum.Asserts:
					internalSchema = ADODB.SchemaEnum.adSchemaAsserts;
					break;
				case SharpQuerySchemaEnum.Catalogs:
					internalSchema = ADODB.SchemaEnum.adSchemaCatalogs;
					break;
				case SharpQuerySchemaEnum.CharacterSets:
					internalSchema = ADODB.SchemaEnum.adSchemaCharacterSets;
					break;
				case SharpQuerySchemaEnum.CheckConstraints:
					internalSchema = ADODB.SchemaEnum.adSchemaCheckConstraints;
					break;
				case SharpQuerySchemaEnum.Collations:
					internalSchema = ADODB.SchemaEnum.adSchemaCollations;
					break;
				case SharpQuerySchemaEnum.ColumnPrivileges:
					internalSchema = ADODB.SchemaEnum.adSchemaColumnPrivileges;
					break;
				case SharpQuerySchemaEnum.Columns:
					internalSchema = ADODB.SchemaEnum.adSchemaColumns;
					break;
				case SharpQuerySchemaEnum.ColumnsDomainUsage:
					internalSchema = ADODB.SchemaEnum.adSchemaColumnsDomainUsage;
					break;
				case SharpQuerySchemaEnum.ConstraintColumnUsage:
					internalSchema = ADODB.SchemaEnum.adSchemaConstraintColumnUsage;
					break;
				case SharpQuerySchemaEnum.ConstaintTableUsage:
					internalSchema = ADODB.SchemaEnum.adSchemaConstraintTableUsage;
					break;
				case SharpQuerySchemaEnum.Cubes:
					internalSchema = ADODB.SchemaEnum.adSchemaCubes;
					break;
				case SharpQuerySchemaEnum.DBInfoKeyWords:
					internalSchema = ADODB.SchemaEnum.adSchemaDBInfoKeywords;
					break;
				case SharpQuerySchemaEnum.DBInfoLiterals:
					internalSchema = ADODB.SchemaEnum.adSchemaDBInfoLiterals;
					break;
				case SharpQuerySchemaEnum.Dimensions:
					internalSchema = ADODB.SchemaEnum.adSchemaDimensions;
					break;
				case SharpQuerySchemaEnum.ForeignKeys:
					internalSchema = ADODB.SchemaEnum.adSchemaForeignKeys;
					break;
				case SharpQuerySchemaEnum.Hierarchies:
					internalSchema = ADODB.SchemaEnum.adSchemaHierarchies;
					break;
				case SharpQuerySchemaEnum.Indexes:
					internalSchema = ADODB.SchemaEnum.adSchemaIndexes;
					break;
				case SharpQuerySchemaEnum.KeyColumnUsage:
					internalSchema = ADODB.SchemaEnum.adSchemaKeyColumnUsage;
					break;
				case SharpQuerySchemaEnum.Levels:
					internalSchema = ADODB.SchemaEnum.adSchemaLevels;
					break;
				case SharpQuerySchemaEnum.Measures:
					internalSchema = ADODB.SchemaEnum.adSchemaMeasures;
					break;
				case SharpQuerySchemaEnum.Members:
					internalSchema = ADODB.SchemaEnum.adSchemaMembers;
					break;
				case SharpQuerySchemaEnum.Null:
					break;
				case SharpQuerySchemaEnum.PrimaryKeys:
					internalSchema = ADODB.SchemaEnum.adSchemaPrimaryKeys;
					break;
				case SharpQuerySchemaEnum.ProcedureColumns:
					internalSchema = ADODB.SchemaEnum.adSchemaProcedureColumns;
					break;
				case SharpQuerySchemaEnum.ProcedureParameters:
					internalSchema = ADODB.SchemaEnum.adSchemaProcedureParameters;
					break;
				case SharpQuerySchemaEnum.Procedures:
					internalSchema = ADODB.SchemaEnum.adSchemaProcedures;
					break;
				case SharpQuerySchemaEnum.Properties:
					internalSchema = ADODB.SchemaEnum.adSchemaProperties;
					break;
				case SharpQuerySchemaEnum.ProviderTypes:
					internalSchema = ADODB.SchemaEnum.adSchemaProviderTypes;
					break;
				case SharpQuerySchemaEnum.ReferentialConstraints:
					internalSchema = ADODB.SchemaEnum.adSchemaReferentialConstraints;
					break;
				case SharpQuerySchemaEnum.Schemata:
					internalSchema = ADODB.SchemaEnum.adSchemaSchemata;
					break;
				case SharpQuerySchemaEnum.SQLLanguages:
					internalSchema = ADODB.SchemaEnum.adSchemaSQLLanguages;
					break;
				case SharpQuerySchemaEnum.Statistics:
					internalSchema = ADODB.SchemaEnum.adSchemaStatistics;
					break;
				case SharpQuerySchemaEnum.TableConstraints:
					internalSchema = ADODB.SchemaEnum.adSchemaTableConstraints;
					break;
				case SharpQuerySchemaEnum.TablePrivileges:
					internalSchema = ADODB.SchemaEnum.adSchemaTablePrivileges;
					break;
				case SharpQuerySchemaEnum.Tables:
				case SharpQuerySchemaEnum.Views:
					internalSchema = ADODB.SchemaEnum.adSchemaTables;
					break;
				case SharpQuerySchemaEnum.Tanslations:
					internalSchema = ADODB.SchemaEnum.adSchemaTranslations;
					break;
				case SharpQuerySchemaEnum.Trustees:
					internalSchema = ADODB.SchemaEnum.adSchemaTrustees;
					break;
				case SharpQuerySchemaEnum.UsagePrivileges:
					internalSchema = ADODB.SchemaEnum.adSchemaUsagePrivileges;
					break;
				case SharpQuerySchemaEnum.ViewColumnUsage:
					internalSchema = ADODB.SchemaEnum.adSchemaViewColumnUsage;
					break;
				case SharpQuerySchemaEnum.ViewColumns:
					internalSchema = ADODB.SchemaEnum.adSchemaColumns;
					break;
				case SharpQuerySchemaEnum.ViewTableUsage:
					internalSchema = ADODB.SchemaEnum.adSchemaViewTableUsage;
					break;
				default:
					throw new System.ArgumentException("", "schema");
			}

			if (schema != SharpQuerySchemaEnum.Null)
			{
				ADOrecord = (ADODB.Recordset)this.pADOConnection.GetType().InvokeMember(
				                                                                        "OpenSchema",
				                                                                        System.Reflection.BindingFlags.InvokeMethod,
				                                                                        null,
				                                                                        this.pADOConnection,
				                                                                        new Object[] { internalSchema, this.NormalizeRestrictions(restrictions) });
			}

			return RecordSetToDataTable(ADOrecord);
		}
コード例 #7
0
        protected override DataTable GetSchema(SharpQuerySchemaEnum schema, object[] restrictions)
        {
            ADODB.SchemaEnum internalSchema = 0;
            ADODB.Recordset  ADOrecord      = null;

            switch (schema)
            {
            case SharpQuerySchemaEnum.Asserts:
                internalSchema = ADODB.SchemaEnum.adSchemaAsserts;
                break;

            case SharpQuerySchemaEnum.Catalogs:
                internalSchema = ADODB.SchemaEnum.adSchemaCatalogs;
                break;

            case SharpQuerySchemaEnum.CharacterSets:
                internalSchema = ADODB.SchemaEnum.adSchemaCharacterSets;
                break;

            case SharpQuerySchemaEnum.CheckConstraints:
                internalSchema = ADODB.SchemaEnum.adSchemaCheckConstraints;
                break;

            case SharpQuerySchemaEnum.Collations:
                internalSchema = ADODB.SchemaEnum.adSchemaCollations;
                break;

            case SharpQuerySchemaEnum.ColumnPrivileges:
                internalSchema = ADODB.SchemaEnum.adSchemaColumnPrivileges;
                break;

            case SharpQuerySchemaEnum.Columns:
                internalSchema = ADODB.SchemaEnum.adSchemaColumns;
                break;

            case SharpQuerySchemaEnum.ColumnsDomainUsage:
                internalSchema = ADODB.SchemaEnum.adSchemaColumnsDomainUsage;
                break;

            case SharpQuerySchemaEnum.ConstraintColumnUsage:
                internalSchema = ADODB.SchemaEnum.adSchemaConstraintColumnUsage;
                break;

            case SharpQuerySchemaEnum.ConstaintTableUsage:
                internalSchema = ADODB.SchemaEnum.adSchemaConstraintTableUsage;
                break;

            case SharpQuerySchemaEnum.Cubes:
                internalSchema = ADODB.SchemaEnum.adSchemaCubes;
                break;

            case SharpQuerySchemaEnum.DBInfoKeyWords:
                internalSchema = ADODB.SchemaEnum.adSchemaDBInfoKeywords;
                break;

            case SharpQuerySchemaEnum.DBInfoLiterals:
                internalSchema = ADODB.SchemaEnum.adSchemaDBInfoLiterals;
                break;

            case SharpQuerySchemaEnum.Dimensions:
                internalSchema = ADODB.SchemaEnum.adSchemaDimensions;
                break;

            case SharpQuerySchemaEnum.ForeignKeys:
                internalSchema = ADODB.SchemaEnum.adSchemaForeignKeys;
                break;

            case SharpQuerySchemaEnum.Hierarchies:
                internalSchema = ADODB.SchemaEnum.adSchemaHierarchies;
                break;

            case SharpQuerySchemaEnum.Indexes:
                internalSchema = ADODB.SchemaEnum.adSchemaIndexes;
                break;

            case SharpQuerySchemaEnum.KeyColumnUsage:
                internalSchema = ADODB.SchemaEnum.adSchemaKeyColumnUsage;
                break;

            case SharpQuerySchemaEnum.Levels:
                internalSchema = ADODB.SchemaEnum.adSchemaLevels;
                break;

            case SharpQuerySchemaEnum.Measures:
                internalSchema = ADODB.SchemaEnum.adSchemaMeasures;
                break;

            case SharpQuerySchemaEnum.Members:
                internalSchema = ADODB.SchemaEnum.adSchemaMembers;
                break;

            case SharpQuerySchemaEnum.Null:
                break;

            case SharpQuerySchemaEnum.PrimaryKeys:
                internalSchema = ADODB.SchemaEnum.adSchemaPrimaryKeys;
                break;

            case SharpQuerySchemaEnum.ProcedureColumns:
                internalSchema = ADODB.SchemaEnum.adSchemaProcedureColumns;
                break;

            case SharpQuerySchemaEnum.ProcedureParameters:
                internalSchema = ADODB.SchemaEnum.adSchemaProcedureParameters;
                break;

            case SharpQuerySchemaEnum.Procedures:
                internalSchema = ADODB.SchemaEnum.adSchemaProcedures;
                break;

            case SharpQuerySchemaEnum.Properties:
                internalSchema = ADODB.SchemaEnum.adSchemaProperties;
                break;

            case SharpQuerySchemaEnum.ProviderTypes:
                internalSchema = ADODB.SchemaEnum.adSchemaProviderTypes;
                break;

            case SharpQuerySchemaEnum.ReferentialConstraints:
                internalSchema = ADODB.SchemaEnum.adSchemaReferentialConstraints;
                break;

            case SharpQuerySchemaEnum.Schemata:
                internalSchema = ADODB.SchemaEnum.adSchemaSchemata;
                break;

            case SharpQuerySchemaEnum.SQLLanguages:
                internalSchema = ADODB.SchemaEnum.adSchemaSQLLanguages;
                break;

            case SharpQuerySchemaEnum.Statistics:
                internalSchema = ADODB.SchemaEnum.adSchemaStatistics;
                break;

            case SharpQuerySchemaEnum.TableConstraints:
                internalSchema = ADODB.SchemaEnum.adSchemaTableConstraints;
                break;

            case SharpQuerySchemaEnum.TablePrivileges:
                internalSchema = ADODB.SchemaEnum.adSchemaTablePrivileges;
                break;

            case SharpQuerySchemaEnum.Tables:
            case SharpQuerySchemaEnum.Views:
                internalSchema = ADODB.SchemaEnum.adSchemaTables;
                break;

            case SharpQuerySchemaEnum.Tanslations:
                internalSchema = ADODB.SchemaEnum.adSchemaTranslations;
                break;

            case SharpQuerySchemaEnum.Trustees:
                internalSchema = ADODB.SchemaEnum.adSchemaTrustees;
                break;

            case SharpQuerySchemaEnum.UsagePrivileges:
                internalSchema = ADODB.SchemaEnum.adSchemaUsagePrivileges;
                break;

            case SharpQuerySchemaEnum.ViewColumnUsage:
                internalSchema = ADODB.SchemaEnum.adSchemaViewColumnUsage;
                break;

            case SharpQuerySchemaEnum.ViewColumns:
                internalSchema = ADODB.SchemaEnum.adSchemaColumns;
                break;

            case SharpQuerySchemaEnum.ViewTableUsage:
                internalSchema = ADODB.SchemaEnum.adSchemaViewTableUsage;
                break;

            default:
                throw new System.ArgumentException("", "schema");
            }

            if (schema != SharpQuerySchemaEnum.Null)
            {
                ADOrecord = (ADODB.Recordset) this.pADOConnection.GetType().InvokeMember(
                    "OpenSchema",
                    System.Reflection.BindingFlags.InvokeMethod,
                    null,
                    this.pADOConnection,
                    new Object[] { internalSchema, this.NormalizeRestrictions(restrictions) });
            }

            return(RecordSetToDataTable(ADOrecord));
        }
		/// <summary>
		/// return a schema matching <code>restrictions</code>
		/// <param name="schema"> a <see cref=".SharpQuerySchemaEnum">SharpQuerySchemaEnum</see>.</param>
		/// <param name="restrictions"> Restrictions matching the schema</param>
		/// </summary>
		protected abstract DataTable GetSchema(SharpQuerySchemaEnum schema, object[] restrictions);
コード例 #9
0
 /// <summary>
 /// return a schema matching <code>restrictions</code>
 /// <param name="schema"> a <see cref=".SharpQuerySchemaEnum">SharpQuerySchemaEnum</see>.</param>
 /// <param name="restrictions"> Restrictions matching the schema</param>
 /// </summary>
 protected abstract DataTable GetSchema(SharpQuerySchemaEnum schema, object[] restrictions);
コード例 #10
0
        protected override DataTable GetSchema(SharpQuerySchemaEnum schema, object[] restrictions)
        {
            System.Guid internalSchema = OleDbSchemaGuid.Assertions;
            DataTable   OLErecord      = null;

            switch (schema)
            {
            case SharpQuerySchemaEnum.Asserts:
                internalSchema = OleDbSchemaGuid.Assertions;
                break;

            case SharpQuerySchemaEnum.Catalogs:
                internalSchema = OleDbSchemaGuid.Catalogs;
                break;

            case SharpQuerySchemaEnum.CharacterSets:
                internalSchema = OleDbSchemaGuid.Character_Sets;
                break;

            case SharpQuerySchemaEnum.CheckConstraints:
                internalSchema = OleDbSchemaGuid.Check_Constraints;
                break;

            case SharpQuerySchemaEnum.Collations:
                internalSchema = OleDbSchemaGuid.Collations;
                break;

            case SharpQuerySchemaEnum.ColumnPrivileges:
                internalSchema = OleDbSchemaGuid.Column_Privileges;
                break;

            case SharpQuerySchemaEnum.Columns:
                internalSchema = OleDbSchemaGuid.Columns;
                break;

            case SharpQuerySchemaEnum.ConstraintColumnUsage:
                internalSchema = OleDbSchemaGuid.Constraint_Column_Usage;
                break;

            case SharpQuerySchemaEnum.ConstaintTableUsage:
                internalSchema = OleDbSchemaGuid.Constraint_Table_Usage;
                break;

            case SharpQuerySchemaEnum.DBInfoLiterals:
                internalSchema = OleDbSchemaGuid.DbInfoLiterals;
                break;

            case SharpQuerySchemaEnum.ForeignKeys:
                internalSchema = OleDbSchemaGuid.Foreign_Keys;
                break;

            case SharpQuerySchemaEnum.Indexes:
                internalSchema = OleDbSchemaGuid.Indexes;
                break;

            case SharpQuerySchemaEnum.KeyColumnUsage:
                internalSchema = OleDbSchemaGuid.Key_Column_Usage;
                break;

            case SharpQuerySchemaEnum.Null:
                break;

            case SharpQuerySchemaEnum.PrimaryKeys:
                internalSchema = OleDbSchemaGuid.Primary_Keys;
                break;

            case SharpQuerySchemaEnum.ProcedureColumns:
                internalSchema = OleDbSchemaGuid.Procedure_Columns;
                break;

            case SharpQuerySchemaEnum.ProcedureParameters:
                internalSchema = OleDbSchemaGuid.Procedure_Parameters;
                break;

            case SharpQuerySchemaEnum.Procedures:
                internalSchema = OleDbSchemaGuid.Procedures;
                break;

            case SharpQuerySchemaEnum.ProviderTypes:
                internalSchema = OleDbSchemaGuid.Provider_Types;
                break;

            case SharpQuerySchemaEnum.ReferentialConstraints:
                internalSchema = OleDbSchemaGuid.Referential_Constraints;
                break;

            case SharpQuerySchemaEnum.Schemata:
                internalSchema = OleDbSchemaGuid.Schemata;
                break;

            case SharpQuerySchemaEnum.SQLLanguages:
                internalSchema = OleDbSchemaGuid.Sql_Languages;
                break;

            case SharpQuerySchemaEnum.Statistics:
                internalSchema = OleDbSchemaGuid.Statistics;
                break;

            case SharpQuerySchemaEnum.TableConstraints:
                internalSchema = OleDbSchemaGuid.Table_Constraints;
                break;

            case SharpQuerySchemaEnum.TablePrivileges:
                internalSchema = OleDbSchemaGuid.Table_Privileges;
                break;

            case SharpQuerySchemaEnum.Tables:
            case SharpQuerySchemaEnum.Views:
                internalSchema = OleDbSchemaGuid.Tables;
                break;

            case SharpQuerySchemaEnum.Tanslations:
                internalSchema = OleDbSchemaGuid.Translations;
                break;

            case SharpQuerySchemaEnum.Trustees:
                internalSchema = OleDbSchemaGuid.Trustee;
                break;

            case SharpQuerySchemaEnum.UsagePrivileges:
                internalSchema = OleDbSchemaGuid.Usage_Privileges;
                break;

            case SharpQuerySchemaEnum.ViewColumnUsage:
                internalSchema = OleDbSchemaGuid.View_Column_Usage;
                break;

            case SharpQuerySchemaEnum.ViewColumns:
                internalSchema = OleDbSchemaGuid.Columns;
                break;

            case SharpQuerySchemaEnum.ViewTableUsage:
                internalSchema = OleDbSchemaGuid.View_Table_Usage;
                break;

            default:
                throw new System.ArgumentException("", "schema");
            }

            if (schema != SharpQuerySchemaEnum.Null)
            {
                OLErecord = this.pOLEConnection.GetOleDbSchemaTable(internalSchema, this.NormalizeRestrictions(restrictions));
            }



            return(OLErecord);
        }
コード例 #11
0
		protected override DataTable GetSchema(SharpQuerySchemaEnum schema, object[] restrictions)
		{
			System.Guid internalSchema = OleDbSchemaGuid.Assertions;
			DataTable OLErecord = null;

			switch (schema)
			{
				case SharpQuerySchemaEnum.Asserts:
					internalSchema = OleDbSchemaGuid.Assertions;
					break;
				case SharpQuerySchemaEnum.Catalogs:
					internalSchema = OleDbSchemaGuid.Catalogs;
					break;
				case SharpQuerySchemaEnum.CharacterSets:
					internalSchema = OleDbSchemaGuid.Character_Sets;
					break;
				case SharpQuerySchemaEnum.CheckConstraints:
					internalSchema = OleDbSchemaGuid.Check_Constraints;
					break;
				case SharpQuerySchemaEnum.Collations:
					internalSchema = OleDbSchemaGuid.Collations;
					break;
				case SharpQuerySchemaEnum.ColumnPrivileges:
					internalSchema = OleDbSchemaGuid.Column_Privileges;
					break;
				case SharpQuerySchemaEnum.Columns:
					internalSchema = OleDbSchemaGuid.Columns;
					break;
				case SharpQuerySchemaEnum.ConstraintColumnUsage:
					internalSchema = OleDbSchemaGuid.Constraint_Column_Usage;
					break;
				case SharpQuerySchemaEnum.ConstaintTableUsage:
					internalSchema = OleDbSchemaGuid.Constraint_Table_Usage;
					break;
				case SharpQuerySchemaEnum.DBInfoLiterals:
					internalSchema = OleDbSchemaGuid.DbInfoLiterals;
					break;
				case SharpQuerySchemaEnum.ForeignKeys:
					internalSchema = OleDbSchemaGuid.Foreign_Keys;
					break;
				case SharpQuerySchemaEnum.Indexes:
					internalSchema = OleDbSchemaGuid.Indexes;
					break;
				case SharpQuerySchemaEnum.KeyColumnUsage:
					internalSchema = OleDbSchemaGuid.Key_Column_Usage;
					break;
				case SharpQuerySchemaEnum.Null:
					break;
				case SharpQuerySchemaEnum.PrimaryKeys:
					internalSchema = OleDbSchemaGuid.Primary_Keys;
					break;
				case SharpQuerySchemaEnum.ProcedureColumns:
					internalSchema = OleDbSchemaGuid.Procedure_Columns;
					break;
				case SharpQuerySchemaEnum.ProcedureParameters:
					internalSchema = OleDbSchemaGuid.Procedure_Parameters;
					break;
				case SharpQuerySchemaEnum.Procedures:
					internalSchema = OleDbSchemaGuid.Procedures;
					break;
				case SharpQuerySchemaEnum.ProviderTypes:
					internalSchema = OleDbSchemaGuid.Provider_Types;
					break;
				case SharpQuerySchemaEnum.ReferentialConstraints:
					internalSchema = OleDbSchemaGuid.Referential_Constraints;
					break;
				case SharpQuerySchemaEnum.Schemata:
					internalSchema = OleDbSchemaGuid.Schemata;
					break;
				case SharpQuerySchemaEnum.SQLLanguages:
					internalSchema = OleDbSchemaGuid.Sql_Languages;
					break;
				case SharpQuerySchemaEnum.Statistics:
					internalSchema = OleDbSchemaGuid.Statistics;
					break;
				case SharpQuerySchemaEnum.TableConstraints:
					internalSchema = OleDbSchemaGuid.Table_Constraints;
					break;
				case SharpQuerySchemaEnum.TablePrivileges:
					internalSchema = OleDbSchemaGuid.Table_Privileges;
					break;
				case SharpQuerySchemaEnum.Tables:
				case SharpQuerySchemaEnum.Views:
					internalSchema = OleDbSchemaGuid.Tables;
					break;
				case SharpQuerySchemaEnum.Tanslations:
					internalSchema = OleDbSchemaGuid.Translations;
					break;
				case SharpQuerySchemaEnum.Trustees:
					internalSchema = OleDbSchemaGuid.Trustee;
					break;
				case SharpQuerySchemaEnum.UsagePrivileges:
					internalSchema = OleDbSchemaGuid.Usage_Privileges;
					break;
				case SharpQuerySchemaEnum.ViewColumnUsage:
					internalSchema = OleDbSchemaGuid.View_Column_Usage;
					break;
				case SharpQuerySchemaEnum.ViewColumns:
					internalSchema = OleDbSchemaGuid.Columns;
					break;
				case SharpQuerySchemaEnum.ViewTableUsage:
					internalSchema = OleDbSchemaGuid.View_Table_Usage;
					break;
				default:
					throw new System.ArgumentException("", "schema");
			}

			if (schema != SharpQuerySchemaEnum.Null)
			{
				OLErecord = this.pOLEConnection.GetOleDbSchemaTable(internalSchema, this.NormalizeRestrictions(restrictions));
			}



			return OLErecord;
		}