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
- ToolBar.cs
- Crypto.cs
- counter.cs
- TextTreeInsertElementUndoUnit.cs
- InputGestureCollection.cs
- WsdlWriter.cs
- RegistrationServices.cs
- CodeTypeReferenceCollection.cs
- Matrix3D.cs
- SecurityProtocol.cs
- CommandTreeTypeHelper.cs
- FontNamesConverter.cs
- SpecialFolderEnumConverter.cs
- NullableDoubleAverageAggregationOperator.cs
- HttpRuntimeSection.cs
- SqlRetyper.cs
- SecurityPermission.cs
- CachedBitmap.cs
- TemplateContainer.cs
- UnmanagedMemoryStream.cs
- HttpListenerRequest.cs
- RegionData.cs
- X509Chain.cs
- BamlWriter.cs
- RegexGroupCollection.cs
- UrlAuthorizationModule.cs
- DBAsyncResult.cs
- FixedSOMLineRanges.cs
- XmlAtomErrorReader.cs
- EnvelopedPkcs7.cs
- StructuralType.cs
- ComboBoxRenderer.cs
- DesignerRegion.cs
- RowParagraph.cs
- Paragraph.cs
- DebugInfoGenerator.cs
- Literal.cs
- DataGridViewBand.cs
- PublisherIdentityPermission.cs
- BooleanToVisibilityConverter.cs
- StringStorage.cs
- X509Utils.cs
- BindingContext.cs
- StructuredTypeEmitter.cs
- CookieHandler.cs
- WorkflowNamespace.cs
- BigInt.cs
- OletxDependentTransaction.cs
- Classification.cs
- MailWriter.cs
- FontCacheUtil.cs
- ContentElement.cs
- AdapterUtil.cs
- FormViewPageEventArgs.cs
- SymbolMethod.cs
- ForceCopyBuildProvider.cs
- XmlRawWriter.cs
- BaseTemplateParser.cs
- GraphicsState.cs
- EntityDataSourceView.cs
- ResourcesGenerator.cs
- AdornerDecorator.cs
- ConfigurationException.cs
- AuthenticationManager.cs
- RootProfilePropertySettingsCollection.cs
- RuleElement.cs
- DbBuffer.cs
- DataGridViewMethods.cs
- SqlMethodTransformer.cs
- EntityDataSourceWrapperCollection.cs
- MessageVersionConverter.cs
- ZoneButton.cs
- ButtonStandardAdapter.cs
- StateBag.cs
- CodeAssignStatement.cs
- Camera.cs
- ConsoleKeyInfo.cs
- Html32TextWriter.cs
- SqlCacheDependencySection.cs
- CaseInsensitiveHashCodeProvider.cs
- ItemsChangedEventArgs.cs
- MultiAsyncResult.cs
- FlowDocumentView.cs
- IndentedWriter.cs
- HtmlElementCollection.cs
- DescendantBaseQuery.cs
- SplashScreenNativeMethods.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- _UriTypeConverter.cs
- PersonalizationDictionary.cs
- ToolStripSeparatorRenderEventArgs.cs
- AffineTransform3D.cs
- XmlSerializerFaultFormatter.cs
- AmbientLight.cs
- HwndProxyElementProvider.cs
- BindableAttribute.cs
- RoleService.cs
- BindingManagerDataErrorEventArgs.cs
- SqlDataRecord.cs
- ConfigurationManagerHelper.cs