Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Data / System / Data / OleDb / OleDbError.cs / 1 / 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] #if WINFSInternalOnly internal #else public #endif 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] #if WINFSInternalOnly internal #else public #endif 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
- FigureParaClient.cs
- SqlDataReader.cs
- ObjectTag.cs
- DesignSurfaceManager.cs
- SQLByte.cs
- TimeSpan.cs
- PlaceHolder.cs
- WindowsStatic.cs
- ToolBar.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- DataTableClearEvent.cs
- CodeEntryPointMethod.cs
- Attachment.cs
- TypeElement.cs
- DataGridViewHitTestInfo.cs
- ShutDownListener.cs
- DesignerSerializationVisibilityAttribute.cs
- InvalidComObjectException.cs
- AttachedPropertyMethodSelector.cs
- _DomainName.cs
- SettingsProperty.cs
- RuleRefElement.cs
- CompilerGeneratedAttribute.cs
- RelatedImageListAttribute.cs
- CryptoApi.cs
- sitestring.cs
- DelegateSerializationHolder.cs
- HMACMD5.cs
- DataRecordObjectView.cs
- XmlDesigner.cs
- RulePatternOps.cs
- SessionPageStateSection.cs
- KeySpline.cs
- SortKey.cs
- VirtualizingStackPanel.cs
- DesignerView.xaml.cs
- Geometry.cs
- BooleanStorage.cs
- ResXResourceSet.cs
- MethodCallConverter.cs
- CngKeyBlobFormat.cs
- OdbcEnvironmentHandle.cs
- SemanticValue.cs
- Permission.cs
- FactoryId.cs
- DataBindingCollection.cs
- UnsafeNativeMethods.cs
- SqlDeflator.cs
- Pair.cs
- PropertyConverter.cs
- BidOverLoads.cs
- SqlDataReader.cs
- BamlLocalizabilityResolver.cs
- CookieProtection.cs
- ItemTypeToolStripMenuItem.cs
- RuntimeConfigLKG.cs
- FormsAuthenticationModule.cs
- BmpBitmapDecoder.cs
- DoubleLinkListEnumerator.cs
- NotImplementedException.cs
- QueryAccessibilityHelpEvent.cs
- WebBrowserNavigatingEventHandler.cs
- DesignerHelpers.cs
- HttpAsyncResult.cs
- IPAddress.cs
- WebMethodAttribute.cs
- GenericAuthenticationEventArgs.cs
- DefaultTextStoreTextComposition.cs
- MouseEvent.cs
- Rijndael.cs
- XmlElementAttributes.cs
- ColorConvertedBitmapExtension.cs
- ScrollProviderWrapper.cs
- DesignerActionUI.cs
- ObjectQuery_EntitySqlExtensions.cs
- ServiceModelActivationSectionGroup.cs
- DrawListViewColumnHeaderEventArgs.cs
- IRCollection.cs
- TimeoutTimer.cs
- PositiveTimeSpanValidatorAttribute.cs
- XmlDictionaryReader.cs
- HttpProcessUtility.cs
- ComboBoxRenderer.cs
- FixedFindEngine.cs
- EpmContentDeSerializer.cs
- MessageQueuePermissionAttribute.cs
- ComponentCommands.cs
- UniqueConstraint.cs
- ChangeProcessor.cs
- XmlArrayItemAttributes.cs
- EntityDataSource.cs
- __FastResourceComparer.cs
- TagMapCollection.cs
- ChannelToken.cs
- ConfigurationManagerInternalFactory.cs
- RoutedEventArgs.cs
- GeometryDrawing.cs
- DelegateSerializationHolder.cs
- AccessDataSource.cs
- XmlDataImplementation.cs