Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / Common / DBSchemaRow.cs / 1305376 / DBSchemaRow.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data.Common { using System; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Globalization; sealed internal class DbSchemaRow { internal const string SchemaMappingUnsortedIndex = "SchemaMapping Unsorted Index"; DbSchemaTable schemaTable; DataRow dataRow; static internal DbSchemaRow[] GetSortedSchemaRows(DataTable dataTable, bool returnProviderSpecificTypes) { // MDAC 60609 DataColumn sortindex= dataTable.Columns[SchemaMappingUnsortedIndex]; if (null == sortindex) { // WebData 100390 sortindex = new DataColumn(SchemaMappingUnsortedIndex, typeof(Int32)); // MDAC 67050 dataTable.Columns.Add(sortindex); } int count = dataTable.Rows.Count; for (int i = 0; i < count; ++i) { dataTable.Rows[i][sortindex] = i; }; DbSchemaTable schemaTable = new DbSchemaTable(dataTable, returnProviderSpecificTypes); const DataViewRowState rowStates = DataViewRowState.Unchanged | DataViewRowState.Added | DataViewRowState.ModifiedCurrent; DataRow[] dataRows = dataTable.Select(null, "ColumnOrdinal ASC", rowStates); Debug.Assert(null != dataRows, "GetSchemaRows: unexpected null dataRows"); DbSchemaRow[] schemaRows = new DbSchemaRow[dataRows.Length]; for (int i = 0; i < dataRows.Length; ++i) { schemaRows[i] = new DbSchemaRow(schemaTable, dataRows[i]); } return schemaRows; } internal DbSchemaRow(DbSchemaTable schemaTable, DataRow dataRow) { this.schemaTable = schemaTable; this.dataRow = dataRow; } internal DataRow DataRow { get { return dataRow; } } internal string ColumnName { get { Debug.Assert(null != schemaTable.ColumnName, "no column ColumnName"); object value = dataRow[schemaTable.ColumnName, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToString(value, CultureInfo.InvariantCulture); } return ""; } /*set { Debug.Assert(null != schemaTable.ColumnName, "missing column ColumnName"); dataRow[schemaTable.ColumnName] = value; }*/ } //internal Int32 Ordinal { /*get { Debug.Assert(null != schemaTable.Ordinal, "no column Ordinal"); return Convert.ToInt32(dataRow[schemaTable.Ordinal, DataRowVersion.Default], CultureInfo.InvariantCulture); }*/ /*set { Debug.Assert(null != schemaTable.Ordinal, "missing column Ordinal"); dataRow[schemaTable.Ordinal] = value; }*/ //} internal Int32 Size { get { Debug.Assert(null != schemaTable.Size, "no column Size"); object value = dataRow[schemaTable.Size, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToInt32(value, CultureInfo.InvariantCulture); } return 0; } /*set { Debug.Assert(null != schemaTable.Size, "missing column Size"); dataRow[schemaTable.Size] = value; }*/ } internal string BaseColumnName { get { if (null != schemaTable.BaseColumnName) { object value = dataRow[schemaTable.BaseColumnName, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToString(value, CultureInfo.InvariantCulture); } } return ""; } /*set { Debug.Assert(null != schemaTable.BaseColumnName, "missing column BaseColumnName"); dataRow[schemaTable.BaseColumnName] = value; }*/ } internal string BaseServerName { get { if (null != schemaTable.BaseServerName) { object value = dataRow[schemaTable.BaseServerName, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToString(value, CultureInfo.InvariantCulture); } } return ""; } /*set { Debug.Assert(null != schemaTable.BaseServerName, "missing column BaseServerName"); dataRow[schemaTable.BaseServerName] = value; }*/ } internal string BaseCatalogName { get { if (null != schemaTable.BaseCatalogName) { object value = dataRow[schemaTable.BaseCatalogName, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToString(value, CultureInfo.InvariantCulture); } } return ""; } /*set { Debug.Assert(null != schemaTable.BaseCatalogName, "missing column BaseCatalogName"); dataRow[schemaTable.BaseCatalogName] = value; }*/ } internal string BaseSchemaName { get { if (null != schemaTable.BaseSchemaName) { object value = dataRow[schemaTable.BaseSchemaName, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToString(value, CultureInfo.InvariantCulture); } } return ""; } /*set { Debug.Assert(null != schemaTable.BaseSchemaName, "missing column BaseSchemaName"); dataRow[schemaTable.BaseSchemaName] = value; }*/ } internal string BaseTableName { get { if (null != schemaTable.BaseTableName) { object value = dataRow[schemaTable.BaseTableName, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToString(value, CultureInfo.InvariantCulture); } } return ""; } /*set { Debug.Assert(null != schemaTable.BaseTableName, "missing column BaseTableName"); dataRow[schemaTable.BaseTableName] = value; }*/ } internal bool IsAutoIncrement { get { if (null != schemaTable.IsAutoIncrement) { object value = dataRow[schemaTable.IsAutoIncrement, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToBoolean(value, CultureInfo.InvariantCulture); } } return false; } /*set { Debug.Assert(null != schemaTable.IsAutoIncrement, "missing column IsAutoIncrement"); dataRow[schemaTable.IsAutoIncrement] = (bool)value; }*/ } internal bool IsUnique { get { if (null != schemaTable.IsUnique) { object value = dataRow[schemaTable.IsUnique, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToBoolean(value, CultureInfo.InvariantCulture); } } return false; } /*set { Debug.Assert(null != schemaTable.IsUnique, "missing column IsUnique"); dataRow[schemaTable.IsUnique] = (bool)value; }*/ } internal bool IsRowVersion { get { if (null != schemaTable.IsRowVersion) { object value = dataRow[schemaTable.IsRowVersion, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToBoolean(value, CultureInfo.InvariantCulture); } } return false; } /*set { Debug.Assert(null != schemaTable.IsRowVersion, "missing column IsRowVersion"); dataRow[schemaTable.IsRowVersion] = value; }*/ } internal bool IsKey { get { if (null != schemaTable.IsKey) { object value = dataRow[schemaTable.IsKey, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToBoolean(value, CultureInfo.InvariantCulture); } } return false; } /*set { Debug.Assert(null != schemaTable.IsKey, "missing column IsKey"); dataRow[schemaTable.IsKey] = value; }*/ } // consider: just do comparison directly -> (object)(baseColumnName) == (object)(columnName) //internal bool IsAliased { /*get { if (null != schemaTable.IsAliased) { // MDAC 62336 object value = dataRow[schemaTable.IsAliased, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToBoolean(value, CultureInfo.InvariantCulture); } } return false; }*/ /*set { Debug.Assert(null != schemaTable.IsAliased, "missing column IsAliased"); dataRow[schemaTable.IsAliased] = value; }*/ //} internal bool IsExpression { get { if (null != schemaTable.IsExpression) { // MDAC 62336 object value = dataRow[schemaTable.IsExpression, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToBoolean(value, CultureInfo.InvariantCulture); } } return false; } /*set { Debug.Assert(null != schemaTable.IsExpression, "missing column IsExpression"); dataRow[schemaTable.IsExpression] = value; }*/ } //internal bool IsIdentity { /*get { if (null != schemaTable.IsIdentity) { // MDAC 62336 object value = dataRow[schemaTable.IsIdentity, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToBoolean(value, CultureInfo.InvariantCulture); } } return false; }*/ /*set { Debug.Assert(null != schemaTable.IsIdentity, "missing column IsIdentity"); dataRow[schemaTable.IsIdentity] = value; }*/ //} internal bool IsHidden { get { if (null != schemaTable.IsHidden) { // MDAC 62336 object value = dataRow[schemaTable.IsHidden, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToBoolean(value, CultureInfo.InvariantCulture); } } return false; } /*set { Debug.Assert(null != schemaTable.IsHidden, "missing column IsHidden"); dataRow[schemaTable.IsHidden] = value; }*/ } internal bool IsLong { get { if (null != schemaTable.IsLong) { // MDAC 62336 object value = dataRow[schemaTable.IsLong, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToBoolean(value, CultureInfo.InvariantCulture); } } return false; } /*set { Debug.Assert(null != schemaTable.IsLong, "missing column IsHidden"); dataRow[schemaTable.IsLong] = value; }*/ } internal bool IsReadOnly { get { if (null != schemaTable.IsReadOnly) { // MDAC 62336 object value = dataRow[schemaTable.IsReadOnly, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToBoolean(value, CultureInfo.InvariantCulture); } } return false; } /*set { Debug.Assert(null != schemaTable.IsReadOnly, "missing column IsReadOnly"); dataRow[schemaTable.IsReadOnly] = value; }*/ } internal System.Type DataType { get { if (null != schemaTable.DataType) { object value = dataRow[schemaTable.DataType, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return(System.Type) value; } } return null; } /*set { Debug.Assert(null != schemaTable.DataType, "missing column DataType"); dataRow[schemaTable.DataType] = value; }*/ } internal bool AllowDBNull { get { if (null != schemaTable.AllowDBNull) { object value = dataRow[schemaTable.AllowDBNull, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToBoolean(value, CultureInfo.InvariantCulture); } } return true; } /*set { Debug.Assert(null != schemaTable.AllowDBNull, "missing column MaybeNull"); dataRow[schemaTable.AllowDBNull] = value; }*/ } /*internal Int32 ProviderType { get { if (null != schemaTable.ProviderType) { object value = dataRow[schemaTable.ProviderType, DataRowVersion.Default]; if (!Convert.IsDBNull(value)) { return Convert.ToInt32(value); } } return 0; } set { Debug.Assert(null != schemaTable.ProviderType, "missing column ProviderType"); dataRow[schemaTable.ProviderType] = value; } }*/ internal Int32 UnsortedIndex { get { return (Int32) dataRow[schemaTable.UnsortedIndex, DataRowVersion.Default]; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Guid.cs
- TreeNodeEventArgs.cs
- WbmpConverter.cs
- sqlser.cs
- Bidi.cs
- AspNetSynchronizationContext.cs
- DeviceContexts.cs
- CharacterHit.cs
- XmlNodeComparer.cs
- Comparer.cs
- parserscommon.cs
- DrawListViewItemEventArgs.cs
- PublishLicense.cs
- CharacterMetricsDictionary.cs
- CodeSnippetExpression.cs
- ApplicationBuildProvider.cs
- MetaForeignKeyColumn.cs
- XmlAggregates.cs
- DragCompletedEventArgs.cs
- ButtonColumn.cs
- cookiecontainer.cs
- TaskFormBase.cs
- IgnoreFlushAndCloseStream.cs
- StrongNameHelpers.cs
- CLSCompliantAttribute.cs
- TypeDelegator.cs
- CqlIdentifiers.cs
- AndCondition.cs
- Quad.cs
- DataSet.cs
- InstanceDataCollectionCollection.cs
- NamedPipeAppDomainProtocolHandler.cs
- NamespaceInfo.cs
- HttpPostProtocolImporter.cs
- ForceCopyBuildProvider.cs
- InvalidWMPVersionException.cs
- PropertyMapper.cs
- XmlUrlResolver.cs
- WhitespaceRuleLookup.cs
- PageCache.cs
- Control.cs
- DigitShape.cs
- sortedlist.cs
- OdbcHandle.cs
- SelectionListComponentEditor.cs
- PrivilegeNotHeldException.cs
- KeySplineConverter.cs
- DocumentGridPage.cs
- webbrowsersite.cs
- TextTreeText.cs
- Stack.cs
- ReferencedType.cs
- SqlConnectionStringBuilder.cs
- ErrorProvider.cs
- CustomBindingElementCollection.cs
- Repeater.cs
- ValueTypeFixupInfo.cs
- TempFiles.cs
- IndicFontClient.cs
- XmlUtf8RawTextWriter.cs
- DynamicResourceExtensionConverter.cs
- RadioButton.cs
- BrowserDefinition.cs
- DataTable.cs
- EntityCommandExecutionException.cs
- PackageController.cs
- ICspAsymmetricAlgorithm.cs
- DelegateTypeInfo.cs
- BinaryHeap.cs
- BreakSafeBase.cs
- TextViewDesigner.cs
- BitmapEffectDrawing.cs
- DetailsViewDeletedEventArgs.cs
- DataAccessException.cs
- AppPool.cs
- RoleManagerModule.cs
- WindowInteractionStateTracker.cs
- MethodBuilder.cs
- StringArrayConverter.cs
- ComEventsHelper.cs
- SecurityDocument.cs
- _AuthenticationState.cs
- ScriptHandlerFactory.cs
- ParagraphResult.cs
- ModelMemberCollection.cs
- ScriptControlManager.cs
- EventEntry.cs
- StylusOverProperty.cs
- Emitter.cs
- RequiredAttributeAttribute.cs
- FormatException.cs
- RichListBox.cs
- bidPrivateBase.cs
- BitmapSource.cs
- ControlPager.cs
- Process.cs
- View.cs
- Variable.cs
- ParallelEnumerableWrapper.cs
- DataGridViewDesigner.cs