Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- Models.cs
- AssemblyInfo.cs
- Image.cs
- xml.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- PropertyExpression.cs
- PlainXmlDeserializer.cs
- WorkflowTransactionService.cs
- MdiWindowListItemConverter.cs
- CompositeFontFamily.cs
- DataListAutoFormat.cs
- ServiceDesigner.xaml.cs
- OutputScopeManager.cs
- DataBindingHandlerAttribute.cs
- DbConnectionPoolIdentity.cs
- Attributes.cs
- StringReader.cs
- DictionaryEntry.cs
- RectangleF.cs
- Model3DGroup.cs
- IncomingWebResponseContext.cs
- TrackBarRenderer.cs
- XmlHierarchyData.cs
- DesignerFrame.cs
- X509Extension.cs
- CounterCreationData.cs
- DSASignatureDeformatter.cs
- WorkflowCompensationBehavior.cs
- ShaderEffect.cs
- DataRecordObjectView.cs
- FieldToken.cs
- GridViewSelectEventArgs.cs
- AssociatedControlConverter.cs
- CodeSnippetTypeMember.cs
- FixedHighlight.cs
- latinshape.cs
- MiniMapControl.xaml.cs
- AspNetHostingPermission.cs
- ListBox.cs
- FrameworkName.cs
- KeyToListMap.cs
- CellTreeNodeVisitors.cs
- IdleTimeoutMonitor.cs
- COMException.cs
- TerminatorSinks.cs
- CollectionViewProxy.cs
- MetafileHeaderWmf.cs
- HttpCookieCollection.cs
- FontSizeConverter.cs
- CollectionTraceRecord.cs
- RoleManagerEventArgs.cs
- UserControl.cs
- LingerOption.cs
- ScrollEventArgs.cs
- IntegerValidatorAttribute.cs
- DataSourceControl.cs
- DataKey.cs
- RouteParametersHelper.cs
- ProviderCollection.cs
- Image.cs
- FontEmbeddingManager.cs
- DataGridViewImageColumn.cs
- SourceInterpreter.cs
- DialogDivider.cs
- ChtmlFormAdapter.cs
- NamespaceDisplay.xaml.cs
- SafeSystemMetrics.cs
- VariableExpressionConverter.cs
- Scanner.cs
- WindowsTokenRoleProvider.cs
- SendActivityDesigner.cs
- ZipPackagePart.cs
- DetailsViewRowCollection.cs
- DotExpr.cs
- XmlSchemaObjectTable.cs
- TiffBitmapEncoder.cs
- SmtpException.cs
- DynamicUpdateCommand.cs
- SerializationInfo.cs
- MetadataCache.cs
- DynamicFilterExpression.cs
- CodeVariableDeclarationStatement.cs
- _NegoStream.cs
- ParsedAttributeCollection.cs
- EntityStoreSchemaGenerator.cs
- GenericWebPart.cs
- DBAsyncResult.cs
- MarkupObject.cs
- TreeView.cs
- XmlExpressionDumper.cs
- ThreadAbortException.cs
- SettingsSection.cs
- WebPartCollection.cs
- OpenFileDialog.cs
- PageBuildProvider.cs
- HttpRequestWrapper.cs
- PickDesigner.xaml.cs
- Rect3DConverter.cs
- SectionUpdates.cs
- HwndAppCommandInputProvider.cs