Code:
/ FX-1434 / FX-1434 / 1.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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ScaleTransform3D.cs
- UrlMappingsModule.cs
- RightsManagementPermission.cs
- OptimalBreakSession.cs
- AssemblyName.cs
- SByteStorage.cs
- ScriptRegistrationManager.cs
- DefinitionBase.cs
- TextViewDesigner.cs
- SerialErrors.cs
- OverflowException.cs
- PackagePartCollection.cs
- OdbcHandle.cs
- MergeFilterQuery.cs
- ContextBase.cs
- safelink.cs
- FtpRequestCacheValidator.cs
- MetaForeignKeyColumn.cs
- Accessible.cs
- CodeCommentStatement.cs
- UInt64.cs
- Dump.cs
- AuthenticatedStream.cs
- TypedTableBaseExtensions.cs
- NameValueFileSectionHandler.cs
- Form.cs
- XmlSchemaSequence.cs
- MailBnfHelper.cs
- Camera.cs
- SQLDecimalStorage.cs
- RealProxy.cs
- DataBindingList.cs
- DateRangeEvent.cs
- RawTextInputReport.cs
- PermissionListSet.cs
- XmlProcessingInstruction.cs
- NullableLongSumAggregationOperator.cs
- RedBlackList.cs
- QueueProcessor.cs
- XmlAttributeOverrides.cs
- SecurityListenerSettingsLifetimeManager.cs
- IndentTextWriter.cs
- IOThreadScheduler.cs
- CodeDelegateCreateExpression.cs
- DescendantBaseQuery.cs
- ExpressionPrefixAttribute.cs
- DataKeyCollection.cs
- ZoneMembershipCondition.cs
- UntrustedRecipientException.cs
- StatusBarPanelClickEvent.cs
- SecurityContextSecurityTokenAuthenticator.cs
- Vector.cs
- DispatchOperation.cs
- IndexedEnumerable.cs
- FrameworkContentElement.cs
- CryptoStream.cs
- LineGeometry.cs
- SiteOfOriginPart.cs
- JulianCalendar.cs
- ConnectionStringSettings.cs
- SqlMethodCallConverter.cs
- AsymmetricSignatureDeformatter.cs
- XmlWriterDelegator.cs
- CodeConstructor.cs
- PolyLineSegmentFigureLogic.cs
- SqlRetyper.cs
- TextEndOfLine.cs
- DtrList.cs
- TypeFieldSchema.cs
- SpecialFolderEnumConverter.cs
- SharedPerformanceCounter.cs
- HttpListenerPrefixCollection.cs
- SmiTypedGetterSetter.cs
- ListViewCommandEventArgs.cs
- DeferrableContentConverter.cs
- HtmlInputRadioButton.cs
- Graph.cs
- CodeSnippetTypeMember.cs
- TimelineGroup.cs
- StringToken.cs
- CapabilitiesState.cs
- Button.cs
- XhtmlBasicPhoneCallAdapter.cs
- login.cs
- ThicknessAnimationBase.cs
- Matrix.cs
- ListQueryResults.cs
- EmptyControlCollection.cs
- DataGridViewComboBoxEditingControl.cs
- DelayedRegex.cs
- Evidence.cs
- DataGridViewTextBoxEditingControl.cs
- IPAddress.cs
- SerialStream.cs
- UnsafeNativeMethods.cs
- TextBounds.cs
- ClientSponsor.cs
- Column.cs
- X509SecurityTokenAuthenticator.cs
- columnmapkeybuilder.cs