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
- StoryFragments.cs
- DataSourceView.cs
- DefaultBindingPropertyAttribute.cs
- BamlLocalizableResourceKey.cs
- MdImport.cs
- LicenseException.cs
- BaseTemplatedMobileComponentEditor.cs
- BaseTemplateParser.cs
- ConsoleTraceListener.cs
- EditorPart.cs
- FixedTextView.cs
- EmptyStringExpandableObjectConverter.cs
- BitmapMetadata.cs
- ToolStripLocationCancelEventArgs.cs
- WebEventCodes.cs
- UnsafeNativeMethods.cs
- TextElementCollectionHelper.cs
- InstallerTypeAttribute.cs
- ToolStripItemClickedEventArgs.cs
- HebrewNumber.cs
- ScalarConstant.cs
- DES.cs
- ClientBuildManagerCallback.cs
- StringCollectionMarkupSerializer.cs
- DeviceFilterDictionary.cs
- TimeSpanMinutesConverter.cs
- EventDescriptor.cs
- AnchorEditor.cs
- DataPagerCommandEventArgs.cs
- CurrentChangingEventArgs.cs
- AggregateNode.cs
- DescendentsWalkerBase.cs
- PixelShader.cs
- PageCodeDomTreeGenerator.cs
- TextEditorDragDrop.cs
- OracleFactory.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- Debug.cs
- FillErrorEventArgs.cs
- SimpleRecyclingCache.cs
- ScrollViewer.cs
- BackoffTimeoutHelper.cs
- complextypematerializer.cs
- DataListItemCollection.cs
- TypeSystem.cs
- OverflowException.cs
- ReadOnlyDictionary.cs
- Utilities.cs
- HasActivatableWorkflowEvent.cs
- WebPartTransformer.cs
- XmlDownloadManager.cs
- SafeLibraryHandle.cs
- RoutedEventHandlerInfo.cs
- CodeDelegateCreateExpression.cs
- HttpException.cs
- ellipse.cs
- XmlDocumentSchema.cs
- WebPartCatalogCloseVerb.cs
- coordinatorfactory.cs
- ColorConvertedBitmapExtension.cs
- EntitySqlQueryCacheEntry.cs
- DocumentStatusResources.cs
- LazyTextWriterCreator.cs
- GenerateHelper.cs
- StyleReferenceConverter.cs
- DataContractJsonSerializerOperationFormatter.cs
- RadioButton.cs
- XPathItem.cs
- PropertyToken.cs
- SqlDataSourceSelectingEventArgs.cs
- MethodToken.cs
- TextDecorationCollection.cs
- LocatorPartList.cs
- CultureTableRecord.cs
- PeerChannelListener.cs
- RadioButtonPopupAdapter.cs
- ParentUndoUnit.cs
- ConfigXmlComment.cs
- DataGridViewSelectedColumnCollection.cs
- ActivityStatusChangeEventArgs.cs
- TextDocumentView.cs
- SecurityStateEncoder.cs
- RuntimeConfigurationRecord.cs
- ClientFormsIdentity.cs
- AsyncDataRequest.cs
- ClientApiGenerator.cs
- HostingEnvironmentWrapper.cs
- SQLUtility.cs
- SiteMapDataSource.cs
- SiteMapPath.cs
- BamlTreeUpdater.cs
- Asn1IntegerConverter.cs
- ControlTemplate.cs
- entityreference_tresulttype.cs
- HashMembershipCondition.cs
- ComAdminInterfaces.cs
- DispatchChannelSink.cs
- HwndAppCommandInputProvider.cs
- SmtpMail.cs
- EdmItemCollection.cs