Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / OleDb / OleDbError.cs / 1305376 / OleDbError.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data.OleDb { using System; using System.Data.Common; using System.Diagnostics; using System.Globalization; using System.Runtime.InteropServices; [Serializable] public sealed class OleDbError { readonly private string message; readonly private string source; readonly private string sqlState; readonly private int nativeError; internal OleDbError(UnsafeNativeMethods.IErrorRecords errorRecords, int index) { OleDbHResult hr; int lcid = System.Globalization.CultureInfo.CurrentCulture.LCID; Bid.Trace("\n"); UnsafeNativeMethods.IErrorInfo errorInfo = errorRecords.GetErrorInfo(index, lcid); if (null != errorInfo) { Bid.Trace(" \n"); hr = errorInfo.GetDescription(out this.message); Bid.Trace(" Message='%ls'\n", this.message); if (OleDbHResult.DB_E_NOLOCALE == hr) { // MDAC 87303 Bid.Trace(" ErrorInfo\n"); Marshal.ReleaseComObject(errorInfo); Bid.Trace(" \n"); lcid = SafeNativeMethods.GetUserDefaultLCID(); Bid.Trace(" LCID=%d\n", lcid); errorInfo = errorRecords.GetErrorInfo(index, lcid); if (null != errorInfo) { Bid.Trace(" \n"); hr = errorInfo.GetDescription(out this.message); Bid.Trace(" Message='%ls'\n", this.message); } } if ((hr < 0) && ADP.IsEmpty(this.message)) { this.message = ODB.FailedGetDescription(hr); } if (null != errorInfo) { Bid.Trace(" \n"); hr = errorInfo.GetSource(out this.source); Bid.Trace(" Source='%ls'\n", this.source); if (OleDbHResult.DB_E_NOLOCALE == hr) { // MDAC 87303 Marshal.ReleaseComObject(errorInfo); Bid.Trace(" \n"); lcid = SafeNativeMethods.GetUserDefaultLCID(); Bid.Trace(" LCID=%d\n", lcid); errorInfo = errorRecords.GetErrorInfo(index, lcid); if (null != errorInfo) { Bid.Trace(" \n"); hr = errorInfo.GetSource(out this.source); Bid.Trace(" Source='%ls'\n", this.source); } } if ((hr < 0) && ADP.IsEmpty(this.source)) { this.source = ODB.FailedGetSource(hr); } Bid.Trace(" ErrorInfo\n"); Marshal.ReleaseComObject(errorInfo); } } UnsafeNativeMethods.ISQLErrorInfo sqlErrorInfo; Bid.Trace(" IID_ISQLErrorInfo\n"); hr = errorRecords.GetCustomErrorObject(index, ref ODB.IID_ISQLErrorInfo, out sqlErrorInfo); if (null != sqlErrorInfo) { Bid.Trace(" \n"); this.nativeError = sqlErrorInfo.GetSQLInfo(out this.sqlState); Bid.Trace(" SQLErrorInfo\n"); Marshal.ReleaseComObject(sqlErrorInfo); } } public string Message { get { string message = this.message; return ((null != message) ? message : ADP.StrEmpty); } } public int NativeError { get { return this.nativeError; } } public string Source { get { string source = this.source; return ((null != source) ? source : ADP.StrEmpty); } } public string SQLState { get { string sqlState = this.sqlState; return ((null != sqlState) ? sqlState : ADP.StrEmpty); } } override public string ToString() { return Message; } } } // 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
- DesignBindingValueUIHandler.cs
- RuntimeUtils.cs
- TrackingProfileCache.cs
- Tag.cs
- NetworkAddressChange.cs
- OdbcErrorCollection.cs
- Base64Encoder.cs
- TransactionWaitAsyncResult.cs
- x509utils.cs
- ACL.cs
- DurableInstancingOptions.cs
- TableItemStyle.cs
- FormView.cs
- TextServicesDisplayAttributePropertyRanges.cs
- Scanner.cs
- AdPostCacheSubstitution.cs
- SpecialFolderEnumConverter.cs
- PlaceHolder.cs
- CompilerParameters.cs
- ValidationRuleCollection.cs
- DbConnectionHelper.cs
- QilInvokeEarlyBound.cs
- XsltLibrary.cs
- Component.cs
- TemplateKeyConverter.cs
- Vector3D.cs
- BulletedList.cs
- WebPart.cs
- UrlPropertyAttribute.cs
- mediapermission.cs
- ExpressionStringBuilder.cs
- EventBindingService.cs
- ContentPlaceHolder.cs
- DeviceOverridableAttribute.cs
- VariableQuery.cs
- Rule.cs
- MemberMaps.cs
- GridViewEditEventArgs.cs
- EntityDataSourceContextCreatedEventArgs.cs
- ContractCodeDomInfo.cs
- sqlstateclientmanager.cs
- RectIndependentAnimationStorage.cs
- KeyGesture.cs
- StateDesigner.LayoutSelectionGlyph.cs
- FtpWebResponse.cs
- ParseHttpDate.cs
- PeerNameRegistration.cs
- SqlDataSourceSelectingEventArgs.cs
- ObjectDataSourceSelectingEventArgs.cs
- Schema.cs
- StringCollection.cs
- Point3DAnimationUsingKeyFrames.cs
- PropertyCollection.cs
- ThemeInfoAttribute.cs
- DefaultHttpHandler.cs
- StylusCollection.cs
- WindowsTitleBar.cs
- Brush.cs
- DataGridViewAdvancedBorderStyle.cs
- PagerStyle.cs
- AddInControllerImpl.cs
- StrongNameMembershipCondition.cs
- WpfKnownMember.cs
- DataGridColumnCollectionEditor.cs
- NativeWindow.cs
- DataGridViewRowConverter.cs
- X509CertificateValidator.cs
- ConditionalBranch.cs
- CodeAttributeArgumentCollection.cs
- InvalidAsynchronousStateException.cs
- CustomAttributeFormatException.cs
- QilPatternFactory.cs
- ScriptRegistrationManager.cs
- CompositionTarget.cs
- MonitoringDescriptionAttribute.cs
- AmbientLight.cs
- HttpServerVarsCollection.cs
- ViewGenResults.cs
- Vector3DCollectionValueSerializer.cs
- HandlerBase.cs
- Transform.cs
- TypeConverterHelper.cs
- ControlsConfig.cs
- BindableTemplateBuilder.cs
- String.cs
- PixelShader.cs
- X509Certificate.cs
- XmlSchemaAny.cs
- StreamAsIStream.cs
- EarlyBoundInfo.cs
- ProxyElement.cs
- ToolStripContentPanelRenderEventArgs.cs
- ApplicationServiceHelper.cs
- ControlParameter.cs
- _SSPIWrapper.cs
- DialogResultConverter.cs
- SharedUtils.cs
- XmlDataSourceView.cs
- RegexCompilationInfo.cs
- VisualTreeHelper.cs