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
- ErrorReporting.cs
- Stack.cs
- NotifyIcon.cs
- CodeObject.cs
- PartialTrustHelpers.cs
- AuthStoreRoleProvider.cs
- URL.cs
- XmlSchemaDocumentation.cs
- AutomationPropertyInfo.cs
- DataGridViewRowPostPaintEventArgs.cs
- FixedSOMImage.cs
- ProfileInfo.cs
- HtmlTable.cs
- ProfessionalColorTable.cs
- ContextBase.cs
- RectangleConverter.cs
- ParseNumbers.cs
- HttpsTransportElement.cs
- Config.cs
- FieldMetadata.cs
- ListViewCancelEventArgs.cs
- HttpRequestTraceRecord.cs
- EventLog.cs
- LaxModeSecurityHeaderElementInferenceEngine.cs
- GridItem.cs
- Util.cs
- BinHexEncoder.cs
- WsrmMessageInfo.cs
- ExpandedWrapper.cs
- RuntimeWrappedException.cs
- Number.cs
- NumericUpDown.cs
- Object.cs
- PreloadedPackages.cs
- GPPOINTF.cs
- ServiceRoute.cs
- StaticResourceExtension.cs
- XslException.cs
- WindowCollection.cs
- TypePresenter.xaml.cs
- ToolBarPanel.cs
- ToolStripItemBehavior.cs
- Module.cs
- SqlConnectionFactory.cs
- ResourceManagerWrapper.cs
- AutomationPatternInfo.cs
- WinCategoryAttribute.cs
- BitmapFrameDecode.cs
- SrgsDocument.cs
- ResourcePermissionBaseEntry.cs
- EmptyReadOnlyDictionaryInternal.cs
- SqlDataSourceView.cs
- TemplatedMailWebEventProvider.cs
- RtfFormatStack.cs
- BulletedList.cs
- StringResourceManager.cs
- LinearGradientBrush.cs
- ParameterReplacerVisitor.cs
- login.cs
- CustomValidator.cs
- EntityDataSourceView.cs
- BamlLocalizabilityResolver.cs
- Version.cs
- BamlTreeUpdater.cs
- LogEntryHeaderDeserializer.cs
- LocationUpdates.cs
- InputScope.cs
- DataGridCaption.cs
- DiffuseMaterial.cs
- ChangeBlockUndoRecord.cs
- RecognizedWordUnit.cs
- ByteStorage.cs
- CustomValidator.cs
- NegotiationTokenAuthenticator.cs
- FontStyleConverter.cs
- XmlSchemaComplexType.cs
- BrushValueSerializer.cs
- TokenFactoryFactory.cs
- CodeSubDirectoriesCollection.cs
- DataColumnSelectionConverter.cs
- RequiredFieldValidator.cs
- DayRenderEvent.cs
- SortableBindingList.cs
- NamespaceExpr.cs
- mediaeventargs.cs
- TcpClientChannel.cs
- BaseAutoFormat.cs
- BulletedList.cs
- Roles.cs
- OdbcEnvironmentHandle.cs
- SerTrace.cs
- TextFormatterHost.cs
- Literal.cs
- VirtualPathProvider.cs
- AssemblyHash.cs
- TagPrefixAttribute.cs
- BamlTreeMap.cs
- CacheDependency.cs
- TextTreeRootTextBlock.cs
- FieldMetadata.cs