Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / Odbc / OdbcParameterCollection.cs / 1305376 / OdbcParameterCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data.Odbc { using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.Common; using System.Data.ProviderBase; using System.Diagnostics; using System.Runtime.InteropServices; [ Editor("Microsoft.VSDesigner.Data.Design.DBParametersEditor, " + AssemblyRef.MicrosoftVSDesigner, "System.Drawing.Design.UITypeEditor, " + AssemblyRef.SystemDrawing), ListBindable(false) ] public sealed partial class OdbcParameterCollection : DbParameterCollection { private bool _rebindCollection; // The collection needs to be (re)bound private static Type ItemType = typeof(OdbcParameter); internal OdbcParameterCollection() : base() { } internal bool RebindCollection { get { return _rebindCollection; } set { _rebindCollection = value; } } [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] new public OdbcParameter this[int index] { get { return (OdbcParameter)GetParameter(index); } set { SetParameter(index, value); } } [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] new public OdbcParameter this[string parameterName] { get { return (OdbcParameter)GetParameter(parameterName); } set { SetParameter(parameterName, value); } } public OdbcParameter Add(OdbcParameter value) { // MDAC 59206 Add((object)value); return value; } [ EditorBrowsableAttribute(EditorBrowsableState.Never)] [ ObsoleteAttribute("Add(String parameterName, Object value) has been deprecated. Use AddWithValue(String parameterName, Object value). http://go.microsoft.com/fwlink/?linkid=14202", false) ] // 79027 public OdbcParameter Add(string parameterName, object value) { // MDAC 59206 return Add(new OdbcParameter(parameterName, value)); } public OdbcParameter AddWithValue(string parameterName, object value) { // MDAC 79027 return Add(new OdbcParameter(parameterName, value)); } public OdbcParameter Add(string parameterName, OdbcType odbcType) { return Add(new OdbcParameter(parameterName, odbcType)); } public OdbcParameter Add(string parameterName, OdbcType odbcType, int size) { return Add(new OdbcParameter(parameterName, odbcType, size)); } public OdbcParameter Add(string parameterName, OdbcType odbcType, int size, string sourceColumn) { return Add(new OdbcParameter(parameterName, odbcType, size, sourceColumn)); } public void AddRange(OdbcParameter[] values) { // V1.2.3300 AddRange((Array)values); } // Walks through the collection and binds each parameter // internal void Bind(OdbcCommand command, CMDWrapper cmdWrapper, CNativeBuffer parameterBuffer){ for(int i = 0; i < Count; ++i) { this[i].Bind(cmdWrapper.StatementHandle, command, checked((short)(i+1)), parameterBuffer, true); } _rebindCollection = false; } internal int CalcParameterBufferSize(OdbcCommand command){ // Calculate the size of the buffer we need int parameterBufferSize = 0; for(int i = 0; i < Count; ++i) { if (_rebindCollection) { this[i].HasChanged = true; } this[i].PrepareForBind(command, (short)(i+1), ref parameterBufferSize); parameterBufferSize = (parameterBufferSize + (IntPtr.Size-1)) & ~(IntPtr.Size-1); // align buffer; } return parameterBufferSize; } // Walks through the collection and clears the parameters // internal void ClearBindings () { for(int i = 0; i < Count; ++i) { this[i].ClearBinding(); } } override public bool Contains(string value) { // WebData 97349 return (-1 != IndexOf(value)); } public bool Contains(OdbcParameter value) { return (-1 != IndexOf(value)); } public void CopyTo(OdbcParameter[] array, int index) { CopyTo((Array)array, index); } private void OnChange() { _rebindCollection = true; } internal void GetOutputValues (CMDWrapper cmdWrapper) { // mdac 88542 - we will not read out the parameters if the collection has changed if (!_rebindCollection) { CNativeBuffer parameterBuffer = cmdWrapper._nativeParameterBuffer; for(int i = 0; i < Count; ++i) { this[i].GetOutputValue(parameterBuffer); } } } public int IndexOf(OdbcParameter value) { return IndexOf((object)value); } public void Insert(int index, OdbcParameter value) { Insert(index, (object)value); } public void Remove(OdbcParameter value) { Remove((object)value); } } } // 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
- DbProviderServices.cs
- CodeMemberEvent.cs
- RtfToXamlLexer.cs
- _StreamFramer.cs
- WindowsImpersonationContext.cs
- CodeAttachEventStatement.cs
- EditorAttribute.cs
- ContextQuery.cs
- RadioButton.cs
- SmiMetaDataProperty.cs
- TransactionProtocol.cs
- UIElementIsland.cs
- WebPartAddingEventArgs.cs
- WebPartAuthorizationEventArgs.cs
- MulticastNotSupportedException.cs
- ObjectDataSourceMethodEventArgs.cs
- WindowsRichEditRange.cs
- CodeTypeParameterCollection.cs
- TableItemPattern.cs
- LinkLabel.cs
- DataGridViewCellParsingEventArgs.cs
- TdsRecordBufferSetter.cs
- DirectoryObjectSecurity.cs
- GroupBox.cs
- HandlerWithFactory.cs
- DataSourceIDConverter.cs
- MemberHolder.cs
- GeometryCollection.cs
- WebConfigurationHost.cs
- ItemDragEvent.cs
- SqlDependencyUtils.cs
- CompositeClientFormatter.cs
- Privilege.cs
- ExpressionLexer.cs
- DataBoundLiteralControl.cs
- DecoderFallback.cs
- DbDataSourceEnumerator.cs
- GeneralTransform2DTo3DTo2D.cs
- ContentPosition.cs
- CryptoProvider.cs
- MouseCaptureWithinProperty.cs
- IdentifierCollection.cs
- AssemblyAssociatedContentFileAttribute.cs
- PropertyPathWorker.cs
- _TimerThread.cs
- EncoderNLS.cs
- DodSequenceMerge.cs
- ErrorFormatterPage.cs
- PropertyStore.cs
- ListViewEditEventArgs.cs
- HashSetDebugView.cs
- DocumentViewerAutomationPeer.cs
- TextServicesDisplayAttribute.cs
- BatchServiceHost.cs
- TableDetailsRow.cs
- User.cs
- SamlAuthorizationDecisionStatement.cs
- DesignOnlyAttribute.cs
- CheckBoxFlatAdapter.cs
- CacheChildrenQuery.cs
- TextRangeBase.cs
- EventLogReader.cs
- ServiceCredentialsSecurityTokenManager.cs
- AssemblyNameProxy.cs
- DateBoldEvent.cs
- WrapperSecurityCommunicationObject.cs
- Vector3D.cs
- ConnectionStringsExpressionBuilder.cs
- DocumentPaginator.cs
- ControlAdapter.cs
- RsaSecurityKey.cs
- HandlerBase.cs
- DoubleAnimationUsingKeyFrames.cs
- ResourceWriter.cs
- streamingZipPartStream.cs
- RangeValuePatternIdentifiers.cs
- InputBinding.cs
- KoreanLunisolarCalendar.cs
- LinkTarget.cs
- IsolatedStorageException.cs
- ComponentSerializationService.cs
- EntityDataSourceViewSchema.cs
- RuleSetCollection.cs
- DynamicUpdateCommand.cs
- ConditionedDesigner.cs
- RepeatBehavior.cs
- RegexStringValidator.cs
- CollectionViewGroupInternal.cs
- AdornerPresentationContext.cs
- CustomErrorCollection.cs
- CacheModeConverter.cs
- TextLine.cs
- InvokePatternIdentifiers.cs
- InkCanvas.cs
- ToolboxItemImageConverter.cs
- CssTextWriter.cs
- Int32KeyFrameCollection.cs
- MenuBase.cs
- XmlSortKeyAccumulator.cs
- DataViewManager.cs