Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / Odbc / OdbcStatementHandle.cs / 1305376 / OdbcStatementHandle.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.Common; using System.Diagnostics; using System.Globalization; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; using System.Text; using System.Threading; namespace System.Data.Odbc { internal struct SQLLEN { private IntPtr _value; internal SQLLEN(int value) { _value = new IntPtr(value); } internal SQLLEN(long value) { #if WIN32 _value = new IntPtr(checked((int)value)); #else _value = new IntPtr(value); #endif } internal SQLLEN(IntPtr value) { _value = value; } public static implicit operator SQLLEN (int value) { // return new SQLLEN(value); } public static explicit operator SQLLEN (long value) { return new SQLLEN(value); } public unsafe static implicit operator int (SQLLEN value) { // #if WIN32 return (int)value._value.ToInt32(); #else long l = (long)value._value.ToInt64(); return checked((int)l); #endif } public unsafe static explicit operator long (SQLLEN value) { return value._value.ToInt64(); } public unsafe long ToInt64() { return _value.ToInt64(); } } sealed internal class OdbcStatementHandle : OdbcHandle { internal OdbcStatementHandle(OdbcConnectionHandle connectionHandle) : base(ODBC32.SQL_HANDLE.STMT, connectionHandle) { } internal ODBC32.RetCode BindColumn2(int columnNumber, ODBC32.SQL_C targetType, HandleRef buffer, IntPtr length, IntPtr srLen_or_Ind) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLBindCol(this, checked((ushort)columnNumber), targetType, buffer, length, srLen_or_Ind); ODBC.TraceODBC(3, "SQLBindCol", retcode); return retcode; } internal ODBC32.RetCode BindColumn3(int columnNumber, ODBC32.SQL_C targetType, IntPtr srLen_or_Ind) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLBindCol(this, checked((ushort)columnNumber), targetType, ADP.PtrZero, ADP.PtrZero, srLen_or_Ind); ODBC.TraceODBC(3, "SQLBindCol", retcode); return retcode; } internal ODBC32.RetCode BindParameter(short ordinal, short parameterDirection, ODBC32.SQL_C sqlctype, ODBC32.SQL_TYPE sqltype, IntPtr cchSize, IntPtr scale, HandleRef buffer, IntPtr bufferLength, HandleRef intbuffer) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLBindParameter(this, checked((ushort)ordinal), // Parameter Number parameterDirection, // InputOutputType sqlctype, // ValueType checked((short)sqltype), // ParameterType cchSize, // ColumnSize scale, // DecimalDigits buffer, // ParameterValuePtr bufferLength, // BufferLength intbuffer); // StrLen_or_IndPtr ODBC.TraceODBC(3, "SQLBindParameter", retcode); return retcode; } internal ODBC32.RetCode Cancel() { // In ODBC3.0 ... a call to SQLCancel when no processing is done has no effect at all // (ODBC Programmer's Reference ...) ODBC32.RetCode retcode = UnsafeNativeMethods.SQLCancel(this); ODBC.TraceODBC(3, "SQLCancel", retcode); return retcode; } internal ODBC32.RetCode CloseCursor() { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLCloseCursor(this); ODBC.TraceODBC(3, "SQLCloseCursor", retcode); return retcode; } internal ODBC32.RetCode ColumnAttribute(int columnNumber, short fieldIdentifier, CNativeBuffer characterAttribute, out short stringLength, out SQLLEN numericAttribute) { IntPtr result; ODBC32.RetCode retcode = UnsafeNativeMethods.SQLColAttributeW(this, checked((short)columnNumber), fieldIdentifier, characterAttribute, characterAttribute.ShortLength, out stringLength, out result); numericAttribute = new SQLLEN(result); ODBC.TraceODBC(3, "SQLColAttributeW", retcode); return retcode; } internal ODBC32.RetCode Columns(string tableCatalog, string tableSchema, string tableName, string columnName) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLColumnsW(this, tableCatalog, ODBC.ShortStringLength(tableCatalog), tableSchema, ODBC.ShortStringLength(tableSchema), tableName, ODBC.ShortStringLength(tableName), columnName, ODBC.ShortStringLength(columnName)); ODBC.TraceODBC(3, "SQLColumnsW", retcode); return retcode; } internal ODBC32.RetCode Execute() { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLExecute(this); ODBC.TraceODBC(3, "SQLExecute", retcode); return retcode; } internal ODBC32.RetCode ExecuteDirect(string commandText) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLExecDirectW(this, commandText, ODBC32.SQL_NTS); ODBC.TraceODBC(3, "SQLExecDirectW", retcode); return retcode; } internal ODBC32.RetCode Fetch() { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLFetch(this); ODBC.TraceODBC(3, "SQLFetch", retcode); return retcode; } internal ODBC32.RetCode FreeStatement(ODBC32.STMT stmt) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLFreeStmt(this, stmt); ODBC.TraceODBC(3, "SQLFreeStmt", retcode); return retcode; } internal ODBC32.RetCode GetData(int index, ODBC32.SQL_C sqlctype, CNativeBuffer buffer, int cb, out IntPtr cbActual) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLGetData(this, checked((ushort)index), sqlctype, buffer, new IntPtr(cb), out cbActual); ODBC.TraceODBC(3, "SQLGetData", retcode); return retcode; } internal ODBC32.RetCode GetStatementAttribute(ODBC32.SQL_ATTR attribute, out IntPtr value, out int stringLength) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLGetStmtAttrW(this, attribute, out value, ADP.PtrSize, out stringLength); ODBC.TraceODBC(3, "SQLGetStmtAttrW", retcode); return retcode; } internal ODBC32.RetCode GetTypeInfo(Int16 fSqlType) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLGetTypeInfo(this, fSqlType); ODBC.TraceODBC(3, "SQLGetTypeInfo", retcode); return retcode; } internal ODBC32.RetCode MoreResults() { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLMoreResults(this); ODBC.TraceODBC(3, "SQLMoreResults", retcode); return retcode; } internal ODBC32.RetCode NumberOfResultColumns(out short columnsAffected) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLNumResultCols(this, out columnsAffected); ODBC.TraceODBC(3, "SQLNumResultCols", retcode); return retcode; } internal ODBC32.RetCode Prepare(string commandText) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLPrepareW(this, commandText, ODBC32.SQL_NTS); ODBC.TraceODBC(3, "SQLPrepareW", retcode); return retcode; } internal ODBC32.RetCode PrimaryKeys(string catalogName, string schemaName, string tableName) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLPrimaryKeysW(this, catalogName, ODBC.ShortStringLength(catalogName), // CatalogName schemaName, ODBC.ShortStringLength(schemaName), // SchemaName tableName, ODBC.ShortStringLength(tableName) // TableName ); ODBC.TraceODBC(3, "SQLPrimaryKeysW", retcode); return retcode; } internal ODBC32.RetCode Procedures(string procedureCatalog, string procedureSchema, string procedureName) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLProceduresW(this, procedureCatalog, ODBC.ShortStringLength(procedureCatalog), procedureSchema, ODBC.ShortStringLength(procedureSchema), procedureName, ODBC.ShortStringLength(procedureName)); ODBC.TraceODBC(3, "SQLProceduresW", retcode); return retcode; } internal ODBC32.RetCode ProcedureColumns(string procedureCatalog, string procedureSchema, string procedureName, string columnName) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLProcedureColumnsW(this, procedureCatalog, ODBC.ShortStringLength(procedureCatalog), procedureSchema, ODBC.ShortStringLength(procedureSchema), procedureName, ODBC.ShortStringLength(procedureName), columnName, ODBC.ShortStringLength(columnName)); ODBC.TraceODBC(3, "SQLProcedureColumnsW", retcode); return retcode; } internal ODBC32.RetCode RowCount(out SQLLEN rowCount) { IntPtr result; ODBC32.RetCode retcode = UnsafeNativeMethods.SQLRowCount(this, out result); rowCount = new SQLLEN(result); ODBC.TraceODBC(3, "SQLRowCount", retcode); return retcode; } internal ODBC32.RetCode SetStatementAttribute(ODBC32.SQL_ATTR attribute, IntPtr value, ODBC32.SQL_IS stringLength) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLSetStmtAttrW(this, (int)attribute, value, (int)stringLength); ODBC.TraceODBC(3, "SQLSetStmtAttrW", retcode); return retcode; } internal ODBC32.RetCode SpecialColumns(string quotedTable) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLSpecialColumnsW(this, ODBC32.SQL_SPECIALCOLS.ROWVER, null, 0, null, 0, quotedTable, ODBC.ShortStringLength(quotedTable), ODBC32.SQL_SCOPE.SESSION, ODBC32.SQL_NULLABILITY.NO_NULLS); ODBC.TraceODBC(3, "SQLSpecialColumnsW", retcode); return retcode; } internal ODBC32.RetCode Statistics(string tableCatalog, string tableSchema, string tableName, Int16 unique, Int16 accuracy) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLStatisticsW(this, tableCatalog, ODBC.ShortStringLength(tableCatalog), tableSchema, ODBC.ShortStringLength(tableSchema), tableName, ODBC.ShortStringLength(tableName), unique, accuracy); ODBC.TraceODBC(3, "SQLStatisticsW", retcode); return retcode; } internal ODBC32.RetCode Statistics(string tableName) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLStatisticsW(this, null, 0, null, 0, tableName, ODBC.ShortStringLength(tableName), (Int16) ODBC32.SQL_INDEX.UNIQUE, (Int16) ODBC32.SQL_STATISTICS_RESERVED.ENSURE); ODBC.TraceODBC(3, "SQLStatisticsW", retcode); return retcode; } internal ODBC32.RetCode Tables(string tableCatalog, string tableSchema, string tableName, string tableType) { ODBC32.RetCode retcode = UnsafeNativeMethods.SQLTablesW(this, tableCatalog, ODBC.ShortStringLength(tableCatalog), tableSchema, ODBC.ShortStringLength(tableSchema), tableName, ODBC.ShortStringLength(tableName), tableType, ODBC.ShortStringLength(tableType)); ODBC.TraceODBC(3, "SQLTablesW", retcode); return retcode; } } } // 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
- WmlCommandAdapter.cs
- ExpressionBuilderContext.cs
- DetailsViewPageEventArgs.cs
- UnsafeNativeMethods.cs
- RoleManagerSection.cs
- DigestComparer.cs
- XamlSerializer.cs
- VisualStyleTypesAndProperties.cs
- DocumentApplication.cs
- SolidColorBrush.cs
- InputChannel.cs
- FixedSOMTable.cs
- DeviceContexts.cs
- PolyLineSegment.cs
- BitVec.cs
- BulletedList.cs
- TextBreakpoint.cs
- QilGeneratorEnv.cs
- EntitySet.cs
- CallContext.cs
- WizardSideBarListControlItemEventArgs.cs
- ActionFrame.cs
- ItemCheckedEvent.cs
- HttpCachePolicyElement.cs
- WindowsToolbar.cs
- DataDocumentXPathNavigator.cs
- DEREncoding.cs
- UpdatePanelTrigger.cs
- HyperLinkStyle.cs
- ScrollChangedEventArgs.cs
- ScrollBarAutomationPeer.cs
- DefinitionUpdate.cs
- _SafeNetHandles.cs
- SettingsPropertyValueCollection.cs
- PeerApplicationLaunchInfo.cs
- DataTableClearEvent.cs
- XmlSchemaValidationException.cs
- AutomationEvent.cs
- Cursor.cs
- NCryptNative.cs
- WindowsSolidBrush.cs
- CellConstantDomain.cs
- FlowDocumentPaginator.cs
- SqlException.cs
- MouseButton.cs
- DataGridViewCellValueEventArgs.cs
- MobileErrorInfo.cs
- ThreadAbortException.cs
- Keywords.cs
- odbcmetadatafactory.cs
- ProcessModule.cs
- CurrentChangingEventManager.cs
- FixedSOMLineRanges.cs
- BuildProvider.cs
- MenuAutomationPeer.cs
- BamlLocalizer.cs
- DLinqDataModelProvider.cs
- ListViewUpdatedEventArgs.cs
- AspCompat.cs
- TextElement.cs
- ApplicationManager.cs
- DataListComponentEditor.cs
- DataGridPagerStyle.cs
- Tablet.cs
- x509store.cs
- MaskInputRejectedEventArgs.cs
- PageOutputColor.cs
- TextTreeText.cs
- StringUtil.cs
- GridEntry.cs
- FlowLayoutSettings.cs
- MemberListBinding.cs
- WorkflowServiceBuildProvider.cs
- RadioButtonBaseAdapter.cs
- XmlSchemaSimpleType.cs
- SessionStateUtil.cs
- NetCodeGroup.cs
- columnmapfactory.cs
- CompilerInfo.cs
- Message.cs
- DispatcherFrame.cs
- StrokeDescriptor.cs
- InfoCardTraceRecord.cs
- SiteMap.cs
- FullTextLine.cs
- GeneralTransform2DTo3DTo2D.cs
- EntityContainerEmitter.cs
- HttpPostedFile.cs
- HebrewNumber.cs
- XmlDataSourceView.cs
- Tokenizer.cs
- ErrorEventArgs.cs
- WebHttpSecurity.cs
- __Error.cs
- CodeThrowExceptionStatement.cs
- TransformedBitmap.cs
- AncestorChangedEventArgs.cs
- ObjectConverter.cs
- NativeWindow.cs
- XmlJsonWriter.cs