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
- XmlQuerySequence.cs
- ManagementEventArgs.cs
- BrushConverter.cs
- BitmapImage.cs
- TemplateField.cs
- PerspectiveCamera.cs
- TextDecorationCollection.cs
- IISUnsafeMethods.cs
- RIPEMD160Managed.cs
- WebServiceResponseDesigner.cs
- Content.cs
- PackagingUtilities.cs
- XmlEntityReference.cs
- SQLMembershipProvider.cs
- SafeFileMappingHandle.cs
- XmlTextReaderImpl.cs
- ListViewUpdateEventArgs.cs
- TransformGroup.cs
- GeometryCollection.cs
- Condition.cs
- DetailsViewDeleteEventArgs.cs
- PageAsyncTaskManager.cs
- PointCollectionValueSerializer.cs
- TextProperties.cs
- XslTransformFileEditor.cs
- ObjectDataSourceMethodEventArgs.cs
- ConstraintConverter.cs
- HttpWebRequestElement.cs
- LateBoundBitmapDecoder.cs
- SessionStateItemCollection.cs
- CollectionChangedEventManager.cs
- DataView.cs
- SchemaElementLookUpTable.cs
- CodeStatement.cs
- AffineTransform3D.cs
- RoleManagerSection.cs
- AliasGenerator.cs
- AccessibilityHelperForXpWin2k3.cs
- LiteralControl.cs
- RestClientProxyHandler.cs
- DispatcherEventArgs.cs
- TearOffProxy.cs
- DictionaryCustomTypeDescriptor.cs
- CipherData.cs
- RectConverter.cs
- DataGridViewCellLinkedList.cs
- NonClientArea.cs
- AuthenticatedStream.cs
- wgx_sdk_version.cs
- CellParaClient.cs
- odbcmetadatafactory.cs
- Brushes.cs
- NativeMethods.cs
- SmiTypedGetterSetter.cs
- UrlPath.cs
- ContextBase.cs
- FilterException.cs
- TreeWalker.cs
- AccessedThroughPropertyAttribute.cs
- DrawingCollection.cs
- httpserverutility.cs
- PasswordBox.cs
- GridItem.cs
- PageThemeCodeDomTreeGenerator.cs
- ArraySet.cs
- ToolStripPanel.cs
- OleDbStruct.cs
- StylusEditingBehavior.cs
- DetailsView.cs
- _UriSyntax.cs
- Mappings.cs
- EventListenerClientSide.cs
- _AutoWebProxyScriptHelper.cs
- Timeline.cs
- BitmapFrameEncode.cs
- EmptyEnumerator.cs
- HttpsChannelFactory.cs
- ActivityExecutionContextCollection.cs
- AudioBase.cs
- _AutoWebProxyScriptEngine.cs
- Duration.cs
- HttpServerProtocol.cs
- ColumnReorderedEventArgs.cs
- EntitySetBaseCollection.cs
- GridViewRowCollection.cs
- CodeGroup.cs
- TagPrefixAttribute.cs
- AvtEvent.cs
- RegistryKey.cs
- SByteStorage.cs
- validation.cs
- SafeNativeMethods.cs
- SolidBrush.cs
- LoadRetryHandler.cs
- HttpConfigurationSystem.cs
- AncillaryOps.cs
- Utilities.cs
- DetailsViewRow.cs
- ChannelServices.cs
- TreeViewImageIndexConverter.cs