Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ // // 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
- CapabilitiesAssignment.cs
- LambdaCompiler.Lambda.cs
- followingsibling.cs
- MouseDevice.cs
- DataComponentGenerator.cs
- ModelItemKeyValuePair.cs
- RegexWriter.cs
- SpecialFolderEnumConverter.cs
- PerformanceCounterManager.cs
- WizardForm.cs
- HtmlContainerControl.cs
- TableHeaderCell.cs
- _HelperAsyncResults.cs
- XpsFilter.cs
- WebPartsPersonalizationAuthorization.cs
- PixelFormatConverter.cs
- TableRow.cs
- DecoderFallback.cs
- CustomCredentialPolicy.cs
- ClientRuntimeConfig.cs
- ParallelDesigner.cs
- GeneralTransform3DTo2D.cs
- ToolStripRenderEventArgs.cs
- FixedSOMTextRun.cs
- UpdatePanelTrigger.cs
- UrlAuthorizationModule.cs
- HierarchicalDataTemplate.cs
- EdmProviderManifest.cs
- ConnectionManagementSection.cs
- XmlAnyElementAttribute.cs
- HttpCookieCollection.cs
- CatalogZoneBase.cs
- HebrewNumber.cs
- PersonalizationStateInfo.cs
- ComponentCommands.cs
- DateTimeUtil.cs
- SettingsProviderCollection.cs
- TriggerCollection.cs
- AxisAngleRotation3D.cs
- CollectionViewGroup.cs
- ConfigXmlText.cs
- XsltLoader.cs
- ContractBase.cs
- SecurityTokenReferenceStyle.cs
- ProviderSettings.cs
- HtmlAnchor.cs
- RectangleF.cs
- RoleService.cs
- CodeTypeMemberCollection.cs
- CompiledAction.cs
- WorkflowMarkupSerializationProvider.cs
- AdapterDictionary.cs
- HwndSubclass.cs
- SlotInfo.cs
- WebResourceAttribute.cs
- XamlSerializer.cs
- EventDescriptorCollection.cs
- ScriptResourceAttribute.cs
- sqlmetadatafactory.cs
- TypeNameConverter.cs
- BufferBuilder.cs
- sqlser.cs
- AttributeEmitter.cs
- DesignerVerbCollection.cs
- arabicshape.cs
- DataGridPageChangedEventArgs.cs
- FileDataSourceCache.cs
- CollectionContainer.cs
- ClientData.cs
- Color.cs
- AutomationAttributeInfo.cs
- Vector.cs
- XmlSchemaParticle.cs
- AssemblyHelper.cs
- ListViewInsertEventArgs.cs
- DbTypeMap.cs
- TemplateEditingService.cs
- ClientConvert.cs
- ContainerControlDesigner.cs
- ICspAsymmetricAlgorithm.cs
- XmlAttributeAttribute.cs
- PanelDesigner.cs
- EventListener.cs
- XmlNodeWriter.cs
- BitmapScalingModeValidation.cs
- PolyBezierSegment.cs
- LineServices.cs
- RowCache.cs
- WebPartMenuStyle.cs
- SafeBitVector32.cs
- ObfuscateAssemblyAttribute.cs
- HtmlMeta.cs
- BitmapEffectInputConnector.cs
- OleDbRowUpdatedEvent.cs
- TextOptions.cs
- SafeReadContext.cs
- Maps.cs
- GridViewUpdatedEventArgs.cs
- Base64Decoder.cs
- SmiConnection.cs