Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Data / System / Data / Constraint.cs / 1 / Constraint.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data { using System; using System.ComponentModel; using System.Globalization; ////// [ DefaultProperty("ConstraintName"), TypeConverter(typeof(ConstraintConverter)) ] #if WINFSInternalOnly internal #else public #endif abstract class Constraint { internal String name = ""; private String _schemaName = ""; private bool inCollection = false; private DataSet dataSet = null; internal PropertyCollection extendedProperties = null; ///Represents a constraint that can be enforced on one or /// more ///objects. /// [ DefaultValue(""), ResDescriptionAttribute(Res.ConstraintNameDescr), ResCategoryAttribute(Res.DataCategory_Data) ] public virtual string ConstraintName { get { return name; } set { if (value == null) value = ""; if (Common.ADP.IsEmpty(value) && (Table != null) && InCollection) throw ExceptionBuilder.NoConstraintName(); CultureInfo locale = (Table != null ? Table.Locale : CultureInfo.CurrentCulture); if (String.Compare(name, value, true, locale) != 0) { if ((Table != null) && InCollection) { Table.Constraints.RegisterName(value); if (name.Length != 0) Table.Constraints.UnregisterName(name); } name = value; } else if (String.Compare(name, value, false, locale) != 0) { name = value; } } } internal String SchemaName { get { if (Common.ADP.IsEmpty(_schemaName)) return ConstraintName; else return _schemaName; } set { if (!Common.ADP.IsEmpty(value)) _schemaName = value; } } internal virtual bool InCollection { get { // ACCESSOR: virtual was missing from this get return inCollection; } set { inCollection = value; if (value) dataSet = Table.DataSet; else dataSet = null; } } ///The name of this constraint within the ////// . /// [ResDescriptionAttribute(Res.ConstraintTableDescr)] public abstract DataTable Table { get; } ///Gets the ///to which the constraint applies. /// [ ResCategoryAttribute(Res.DataCategory_Data), Browsable(false), ResDescriptionAttribute(Res.ExtendedPropertiesDescr) ] public PropertyCollection ExtendedProperties { get { if (extendedProperties == null) { extendedProperties = new PropertyCollection(); } return extendedProperties; } } internal abstract bool ContainsColumn(DataColumn column); internal abstract bool CanEnableConstraint(); internal abstract Constraint Clone(DataSet destination); internal abstract Constraint Clone(DataSet destination, bool ignoreNSforTableLookup); internal void CheckConstraint() { if (!CanEnableConstraint()) { throw ExceptionBuilder.ConstraintViolation(ConstraintName); } } internal abstract void CheckCanAddToCollection(ConstraintCollection constraint); internal abstract bool CanBeRemovedFromCollection(ConstraintCollection constraint, bool fThrowException); internal abstract void CheckConstraint(DataRow row, DataRowAction action); internal abstract void CheckState(); protected void CheckStateForProperty() { try { CheckState(); } catch (Exception e) { // if (!Common.ADP.IsCatchableExceptionType (e)) { throw; } throw ExceptionBuilder.BadObjectPropertyAccess(e.Message); } } ///Gets the collection of customized user information. ////// #if WINFSInternalOnly #else [CLSCompliant(false)] #endif protected virtual DataSet _DataSet { get { return dataSet; } } ///Gets the ///to which this constraint belongs. /// protected internal void SetDataSet(DataSet dataSet) { this.dataSet = dataSet; } internal abstract bool IsConstraintViolated(); public override string ToString() { return ConstraintName; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.Sets the constraint's ///.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ClientScriptManager.cs
- BaseParaClient.cs
- InkCanvasSelection.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- HttpsTransportElement.cs
- PerfService.cs
- LiteralText.cs
- ContainerActivationHelper.cs
- ContainerSelectorBehavior.cs
- EUCJPEncoding.cs
- DashStyle.cs
- Conditional.cs
- WindowsAuthenticationModule.cs
- ClientSettingsStore.cs
- TablePattern.cs
- SplitterPanel.cs
- MetadataArtifactLoaderCompositeFile.cs
- AdRotatorDesigner.cs
- BindingWorker.cs
- EntityDataSourceUtil.cs
- OleCmdHelper.cs
- GraphicsContainer.cs
- IRCollection.cs
- Rotation3DAnimationUsingKeyFrames.cs
- MethodExpr.cs
- HtmlInputSubmit.cs
- ItemList.cs
- Encoding.cs
- DataGridViewComboBoxCell.cs
- Geometry.cs
- UdpTransportSettingsElement.cs
- DataGridViewColumnCollectionDialog.cs
- DataGridColumnReorderingEventArgs.cs
- ObjectPersistData.cs
- Vector3DIndependentAnimationStorage.cs
- TripleDES.cs
- PackageStore.cs
- ButtonBaseDesigner.cs
- FileDialog_Vista.cs
- ParagraphVisual.cs
- LicenseProviderAttribute.cs
- OdbcDataReader.cs
- Stack.cs
- EntityDataSourceReferenceGroup.cs
- TypeElement.cs
- TextBoxBase.cs
- DragCompletedEventArgs.cs
- RecognizedAudio.cs
- RequestCachingSection.cs
- ObjectNotFoundException.cs
- TagPrefixAttribute.cs
- CompilerInfo.cs
- DataListCommandEventArgs.cs
- XmlSchemaNotation.cs
- CodeMethodInvokeExpression.cs
- TraceLog.cs
- Soap.cs
- PageThemeBuildProvider.cs
- TimeSpanOrInfiniteConverter.cs
- FloaterParagraph.cs
- DataGrid.cs
- HostedHttpTransportManager.cs
- WorkflowStateRollbackService.cs
- PopupEventArgs.cs
- FunctionDescription.cs
- ItemsControlAutomationPeer.cs
- CryptoHelper.cs
- DocumentViewerHelper.cs
- RichTextBoxContextMenu.cs
- HyperLinkStyle.cs
- DesignerDataTableBase.cs
- ViewGenerator.cs
- BeginEvent.cs
- HttpCapabilitiesSectionHandler.cs
- DataGridItem.cs
- MainMenu.cs
- GeneratedView.cs
- PagedDataSource.cs
- BevelBitmapEffect.cs
- KeyConstraint.cs
- StorageRoot.cs
- EllipseGeometry.cs
- HostVisual.cs
- FixedTextPointer.cs
- EtwTrackingParticipant.cs
- OracleCommandSet.cs
- MergeFailedEvent.cs
- SmtpMail.cs
- MappingException.cs
- DocumentXmlWriter.cs
- Menu.cs
- BitmapEffectGroup.cs
- PrivilegeNotHeldException.cs
- _LocalDataStoreMgr.cs
- VariableExpressionConverter.cs
- ToolStripHighContrastRenderer.cs
- BooleanAnimationBase.cs
- WindowsIdentity.cs
- MarkupProperty.cs
- CapabilitiesSection.cs