Author: gert
Date: 2007-10-19 05:06:25 -0400 (Fri, 19 Oct 2007)
New Revision: 87815
Modified:
trunk/mcs/class/System.Data/System.Data.Odbc/ChangeLog
trunk/mcs/class/System.Data/System.Data.Odbc/OdbcConnection.cs
trunk/mcs/class/System.Data/System.Data.Odbc/OdbcTransaction.cs
trunk/mcs/class/System.Data/System.Data.Odbc/libodbc.cs
Log:
* libodbc.cs: Spaces to tabs. Code formatting.
* OdbcConnection.cs: Spaces to tabs. Code formatting.
* OdbcTransaction.cs: Code formatting.
Modified: trunk/mcs/class/System.Data/System.Data.Odbc/ChangeLog
===================================================================
--- trunk/mcs/class/System.Data/System.Data.Odbc/ChangeLog 2007-10-19
07:25:50 UTC (rev 87814)
+++ trunk/mcs/class/System.Data/System.Data.Odbc/ChangeLog 2007-10-19
09:06:25 UTC (rev 87815)
@@ -1,3 +1,9 @@
+2007-10-19 Gert Driesen <[EMAIL PROTECTED]>
+
+ * libodbc.cs: Spaces to tabs. Code formatting.
+ * OdbcConnection.cs: Spaces to tabs. Code formatting.
+ * OdbcTransaction.cs: Code formatting.
+
2007-10-19 Nagappan <[EMAIL PROTECTED]>
* OdbcCommandBuilder.cs, OdbcParameterCollection.cs: Code alignment.
Modified: trunk/mcs/class/System.Data/System.Data.Odbc/OdbcConnection.cs
===================================================================
--- trunk/mcs/class/System.Data/System.Data.Odbc/OdbcConnection.cs
2007-10-19 07:25:50 UTC (rev 87814)
+++ trunk/mcs/class/System.Data/System.Data.Odbc/OdbcConnection.cs
2007-10-19 09:06:25 UTC (rev 87815)
@@ -43,7 +43,7 @@
{
[DefaultEvent ("InfoMessage")]
#if NET_2_0
- public sealed class OdbcConnection : DbConnection, ICloneable
+ public sealed class OdbcConnection : DbConnection, ICloneable
#else
public sealed class OdbcConnection : Component, ICloneable,
IDbConnection
#endif //NET_2_0
@@ -53,8 +53,8 @@
string connectionString;
int connectionTimeout;
internal OdbcTransaction transaction;
- IntPtr henv=IntPtr.Zero, hdbc=IntPtr.Zero;
- bool disposed = false;
+ IntPtr henv =IntPtr.Zero, hdbc=IntPtr.Zero;
+ bool disposed;
#endregion
@@ -66,15 +66,10 @@
public OdbcConnection (string connectionString)
{
- Init (connectionString);
+ connectionTimeout = 15;
+ ConnectionString = connectionString;
}
- private void Init (string connectionString)
- {
- connectionTimeout = 15;
- ConnectionString = connectionString;
- }
-
#endregion // Constructors
#region Properties
@@ -84,13 +79,13 @@
get { return hdbc; }
}
- [OdbcCategoryAttribute ("DataCategory_Data")]
+ [OdbcCategoryAttribute ("DataCategory_Data")]
[DefaultValue ("")]
[OdbcDescriptionAttribute ("Information used to connect to a
Data Source")]
[RefreshPropertiesAttribute (RefreshProperties.All)]
[EditorAttribute
("Microsoft.VSDesigner.Data.Odbc.Design.OdbcConnectionStringEditor, "+
Consts.AssemblyMicrosoft_VSDesigner, "System.Drawing.Design.UITypeEditor, "+
Consts.AssemblySystem_Drawing )]
- [RecommendedAsConfigurableAttribute (true)]
- public
+ [RecommendedAsConfigurableAttribute (true)]
+ public
#if NET_2_0
override
#endif
@@ -110,41 +105,39 @@
#endif
public
#if NET_2_0
- new
+ new
#endif // NET_2_0
- int ConnectionTimeout {
+ int ConnectionTimeout {
get {
return connectionTimeout;
}
set {
- if (value < 0) {
+ if (value < 0)
throw new ArgumentException("Timout
should not be less than zero.");
- }
connectionTimeout = value;
}
}
[DesignerSerializationVisibilityAttribute
(DesignerSerializationVisibility.Hidden)]
- [OdbcDescriptionAttribute ("Current data source Catlog value,
'Database=X' in the ConnectionString")]
+ [OdbcDescriptionAttribute ("Current data source Catlog value,
'Database=X' in the ConnectionString")]
public
#if NET_2_0
- override
+ override
#endif // NET_2_0
- string Database {
+ string Database {
get {
- return GetInfo (OdbcInfo.DatabaseName);
+ return GetInfo (OdbcInfo.DatabaseName);
}
}
[DesignerSerializationVisibilityAttribute
(DesignerSerializationVisibility.Hidden)]
- [OdbcDescriptionAttribute ("The ConnectionState indicating
whether the connection is open or closed")]
- [BrowsableAttribute (false)]
+ [OdbcDescriptionAttribute ("The ConnectionState indicating
whether the connection is open or closed")]
+ [BrowsableAttribute (false)]
public
#if NET_2_0
- override
+ override
#endif // NET_2_0
- ConnectionState State
- {
+ ConnectionState State {
get {
if (hdbc!=IntPtr.Zero) {
return ConnectionState.Open;
@@ -155,59 +148,58 @@
}
[DesignerSerializationVisibilityAttribute
(DesignerSerializationVisibility.Hidden)]
- [OdbcDescriptionAttribute ("Current data source, 'Server=X' in
the ConnectionString")]
+ [OdbcDescriptionAttribute ("Current data source, 'Server=X' in
the ConnectionString")]
#if NET_2_0
- [Browsable (false)]
+ [Browsable (false)]
#endif
public
#if NET_2_0
- override
+ override
#endif // NET_2_0
- string DataSource {
+ string DataSource {
get {
- return GetInfo (OdbcInfo.DataSourceName);
+ return GetInfo (OdbcInfo.DataSourceName);
}
}
#if NET_2_0
- [Browsable (false)]
+ [Browsable (false)]
#endif
[DesignerSerializationVisibilityAttribute
(DesignerSerializationVisibility.Hidden)]
- [OdbcDescriptionAttribute ("Current ODBC Driver")]
- public string Driver {
- get {
- return GetInfo (OdbcInfo.DriverName);
- }
- }
+ [OdbcDescriptionAttribute ("Current ODBC Driver")]
+ public string Driver {
+ get {
+ return GetInfo (OdbcInfo.DriverName);
+ }
+ }
[DesignerSerializationVisibilityAttribute
(DesignerSerializationVisibility.Hidden)]
- [OdbcDescriptionAttribute ("Version of the product accessed by
the ODBC Driver")]
- [BrowsableAttribute (false)]
- public
+ [OdbcDescriptionAttribute ("Version of the product accessed by
the ODBC Driver")]
+ [BrowsableAttribute (false)]
+ public
#if NET_2_0
- override
+ override
#endif // NET_2_0
- string ServerVersion {
- get {
- return GetInfo (OdbcInfo.DbmsVersion);
- }
- }
+ string ServerVersion {
+ get {
+ return GetInfo (OdbcInfo.DbmsVersion);
+ }
+ }
-
#endregion // Properties
#region Methods
public
#if NET_2_0
- new
+ new
#endif // NET_2_0
- OdbcTransaction BeginTransaction ()
+ OdbcTransaction BeginTransaction ()
{
return BeginTransaction(IsolationLevel.Unspecified);
- }
+ }
-#if ONLY_1_1
+#if ONLY_1_1
IDbTransaction IDbConnection.BeginTransaction ()
{
return (IDbTransaction) BeginTransaction();
@@ -222,16 +214,14 @@
public
#if NET_2_0
- new
+ new
#endif // NET_2_0
- OdbcTransaction BeginTransaction (IsolationLevel level)
+ OdbcTransaction BeginTransaction (IsolationLevel level)
{
- if (transaction==null)
- {
- transaction=new OdbcTransaction(this,level);
+ if (transaction == null) {
+ transaction = new OdbcTransaction (this,level);
return transaction;
- }
- else
+ } else
throw new InvalidOperationException();
}
@@ -244,40 +234,37 @@
public
#if NET_2_0
- override
+ override
#endif // NET_2_0
- void Close ()
+ void Close ()
{
OdbcReturn ret = OdbcReturn.Error;
if (State == ConnectionState.Open) {
// disconnect
ret = libodbc.SQLDisconnect (hdbc);
- if ((ret != OdbcReturn.Success) && (ret !=
OdbcReturn.SuccessWithInfo)) {
+ if ((ret != OdbcReturn.Success) && (ret !=
OdbcReturn.SuccessWithInfo))
throw new OdbcException (new OdbcError
("SQLDisconnect", OdbcHandleType.Dbc, hdbc));
- }
FreeHandles ();
-
transaction = null;
-
- RaiseStateChange (ConnectionState.Open,
ConnectionState.Closed);
+ RaiseStateChange (ConnectionState.Open,
ConnectionState.Closed);
}
}
public
#if NET_2_0
- new
+ new
#endif // NET_2_0
- OdbcCommand CreateCommand ()
+ OdbcCommand CreateCommand ()
{
- return new OdbcCommand ("", this, transaction);
+ return new OdbcCommand ("", this, transaction);
}
public
#if NET_2_0
- override
+ override
#endif // NET_2_0
- void ChangeDatabase(string Database)
+ void ChangeDatabase(string Database)
{
IntPtr ptr = IntPtr.Zero;
OdbcReturn ret = OdbcReturn.Error;
@@ -297,16 +284,13 @@
protected override void Dispose (bool disposing)
{
if (!this.disposed) {
- try
- {
+ try {
// release the native unmananged
resources
this.Close();
this.disposed = true;
- }
- finally
- {
+ } finally {
// call Dispose on the base class
- base.Dispose(disposing);
+ base.Dispose(disposing);
}
}
}
@@ -333,9 +317,9 @@
public
#if NET_2_0
- override
+ override
#endif // NET_2_0
- void Open ()
+ void Open ()
{
if (State == ConnectionState.Open)
throw new InvalidOperationException ();
@@ -343,34 +327,34 @@
OdbcReturn ret = OdbcReturn.Error;
OdbcException e = null;
- try {
- // allocate Environment handle
- ret = libodbc.SQLAllocHandle
(OdbcHandleType.Env, IntPtr.Zero, ref henv);
- if ((ret != OdbcReturn.Success) && (ret !=
OdbcReturn.SuccessWithInfo)) {
- e = new OdbcException (new OdbcError
("SQLAllocHandle"));
+ try {
+ // allocate Environment handle
+ ret = libodbc.SQLAllocHandle
(OdbcHandleType.Env, IntPtr.Zero, ref henv);
+ if ((ret != OdbcReturn.Success) && (ret !=
OdbcReturn.SuccessWithInfo)) {
+ e = new OdbcException (new OdbcError
("SQLAllocHandle"));
MessageHandler (e);
throw e;
}
- ret = libodbc.SQLSetEnvAttr (henv,
OdbcEnv.OdbcVersion, (IntPtr) libodbc.SQL_OV_ODBC3 , 0);
- if ((ret != OdbcReturn.Success) && (ret !=
OdbcReturn.SuccessWithInfo))
- throw new OdbcException (new OdbcError
("SQLSetEnvAttr", OdbcHandleType.Env, henv));
+ ret = libodbc.SQLSetEnvAttr (henv,
OdbcEnv.OdbcVersion, (IntPtr) libodbc.SQL_OV_ODBC3 , 0);
+ if ((ret != OdbcReturn.Success) && (ret !=
OdbcReturn.SuccessWithInfo))
+ throw new OdbcException (new OdbcError
("SQLSetEnvAttr", OdbcHandleType.Env, henv));
- // allocate connection handle
- ret = libodbc.SQLAllocHandle
(OdbcHandleType.Dbc, henv, ref hdbc);
- if ((ret != OdbcReturn.Success) && (ret !=
OdbcReturn.SuccessWithInfo))
- throw new OdbcException (new OdbcError
("SQLAllocHandle", OdbcHandleType.Env, henv));
+ // allocate connection handle
+ ret = libodbc.SQLAllocHandle
(OdbcHandleType.Dbc, henv, ref hdbc);
+ if ((ret != OdbcReturn.Success) && (ret !=
OdbcReturn.SuccessWithInfo))
+ throw new OdbcException (new OdbcError
("SQLAllocHandle", OdbcHandleType.Env, henv));
- // DSN connection
- if (ConnectionString.ToLower ().IndexOf
("dsn=") >= 0)
- {
- string _uid = "", _pwd = "", _dsn = "";
- string [] items =
ConnectionString.Split (new char[1]{';'});
- foreach (string item in items)
- {
- string [] parts = item.Split
(new char[1] {'='});
- switch (parts [0].Trim
().ToLower ())
- {
+ // DSN connection
+ if (ConnectionString.ToLower ().IndexOf
("dsn=") >= 0)
+ {
+ string _uid = "", _pwd = "", _dsn = "";
+ string [] items =
ConnectionString.Split (new char[1]{';'});
+ foreach (string item in items)
+ {
+ string [] parts = item.Split
(new char[1] {'='});
+ switch (parts [0].Trim
().ToLower ())
+ {
case "dsn":
_dsn = parts [1].Trim
();
break;
@@ -380,29 +364,29 @@
case "pwd":
_pwd = parts [1].Trim
();
break;
- }
- }
- ret = libodbc.SQLConnect(hdbc, _dsn,
-3, _uid, -3, _pwd, -3);
- if ((ret != OdbcReturn.Success) &&
(ret != OdbcReturn.SuccessWithInfo))
- throw new OdbcException (new
OdbcError ("SQLConnect", OdbcHandleType.Dbc, hdbc));
- }
- else
- {
- // DSN-less Connection
- string OutConnectionString = new
String (' ',1024);
- short OutLen = 0;
- ret = libodbc.SQLDriverConnect (hdbc,
IntPtr.Zero, ConnectionString, -3,
-
OutConnectionString, (short) OutConnectionString.Length, ref OutLen, 0);
- if ((ret != OdbcReturn.Success) &&
(ret != OdbcReturn.SuccessWithInfo))
- throw new OdbcException (new
OdbcError ("SQLDriverConnect", OdbcHandleType.Dbc, hdbc));
- }
+ }
+ }
+ ret = libodbc.SQLConnect(hdbc, _dsn,
-3, _uid, -3, _pwd, -3);
+ if ((ret != OdbcReturn.Success) && (ret
!= OdbcReturn.SuccessWithInfo))
+ throw new OdbcException (new
OdbcError ("SQLConnect", OdbcHandleType.Dbc, hdbc));
+ }
+ else
+ {
+ // DSN-less Connection
+ string OutConnectionString = new String
(' ',1024);
+ short OutLen = 0;
+ ret = libodbc.SQLDriverConnect (hdbc,
IntPtr.Zero, ConnectionString, -3,
+
OutConnectionString, (short) OutConnectionString.Length, ref OutLen, 0);
+ if ((ret != OdbcReturn.Success) && (ret
!= OdbcReturn.SuccessWithInfo))
+ throw new OdbcException (new
OdbcError ("SQLDriverConnect", OdbcHandleType.Dbc, hdbc));
+ }
- RaiseStateChange (ConnectionState.Closed,
ConnectionState.Open);
- } catch (Exception) {
- // free handles if any.
- FreeHandles ();
- throw;
- }
+ RaiseStateChange (ConnectionState.Closed,
ConnectionState.Open);
+ } catch {
+ // free handles if any.
+ FreeHandles ();
+ throw;
+ }
disposed = false;
}
@@ -412,23 +396,23 @@
throw new NotImplementedException ();
}
- private void FreeHandles ()
- {
- OdbcReturn ret = OdbcReturn.Error;
- if (hdbc != IntPtr.Zero) {
- ret = libodbc.SQLFreeHandle ((ushort)
OdbcHandleType.Dbc, hdbc);
- if ( (ret != OdbcReturn.Success) && (ret !=
OdbcReturn.SuccessWithInfo))
- throw new OdbcException (new OdbcError
("SQLFreeHandle", OdbcHandleType.Dbc, hdbc));
- }
- hdbc = IntPtr.Zero;
+ private void FreeHandles ()
+ {
+ OdbcReturn ret = OdbcReturn.Error;
+ if (hdbc != IntPtr.Zero) {
+ ret = libodbc.SQLFreeHandle ((ushort)
OdbcHandleType.Dbc, hdbc);
+ if ( (ret != OdbcReturn.Success) && (ret !=
OdbcReturn.SuccessWithInfo))
+ throw new OdbcException (new OdbcError
("SQLFreeHandle", OdbcHandleType.Dbc, hdbc));
+ }
+ hdbc = IntPtr.Zero;
- if (henv != IntPtr.Zero) {
- ret = libodbc.SQLFreeHandle ((ushort)
OdbcHandleType.Env, henv);
- if ( (ret != OdbcReturn.Success) && (ret !=
OdbcReturn.SuccessWithInfo))
- throw new OdbcException (new OdbcError
("SQLFreeHandle", OdbcHandleType.Env, henv));
- }
- henv = IntPtr.Zero;
- }
+ if (henv != IntPtr.Zero) {
+ ret = libodbc.SQLFreeHandle ((ushort)
OdbcHandleType.Env, henv);
+ if ( (ret != OdbcReturn.Success) && (ret !=
OdbcReturn.SuccessWithInfo))
+ throw new OdbcException (new OdbcError
("SQLFreeHandle", OdbcHandleType.Env, henv));
+ }
+ henv = IntPtr.Zero;
+ }
#if NET_2_0
public new DataTable GetSchema ()
@@ -458,34 +442,34 @@
throw new NotImplementedException ();
}
- internal string GetInfo (OdbcInfo info)
- {
- if (State == ConnectionState.Closed)
- throw new InvalidOperationException ("The
connection is closed.");
-
- OdbcReturn ret = OdbcReturn.Error;
- short max_length = 256;
- byte [] buffer = new byte [max_length];
- short actualLength = 0;
-
- ret = libodbc.SQLGetInfo (hdbc, info, buffer,
max_length, ref actualLength);
- if (ret != OdbcReturn.Success && ret !=
OdbcReturn.SuccessWithInfo)
- throw new OdbcException (new OdbcError
("SQLGetInfo",
-
OdbcHandleType.Dbc,
- hdbc));
+ internal string GetInfo (OdbcInfo info)
+ {
+ if (State == ConnectionState.Closed)
+ throw new InvalidOperationException ("The
connection is closed.");
- return System.Text.Encoding.Default.GetString (buffer);
- }
+ OdbcReturn ret = OdbcReturn.Error;
+ short max_length = 256;
+ byte [] buffer = new byte [max_length];
+ short actualLength = 0;
- private void RaiseStateChange (ConnectionState from,
ConnectionState to)
- {
+ ret = libodbc.SQLGetInfo (hdbc, info, buffer,
max_length, ref actualLength);
+ if (ret != OdbcReturn.Success && ret !=
OdbcReturn.SuccessWithInfo)
+ throw new OdbcException (new OdbcError
("SQLGetInfo",
+
OdbcHandleType.Dbc,
+ hdbc));
+
+ return System.Text.Encoding.Default.GetString (buffer);
+ }
+
+ private void RaiseStateChange (ConnectionState from,
ConnectionState to)
+ {
#if ONLY_1_1
- if (StateChange != null)
- StateChange (this, new StateChangeEventArgs
(from, to));
+ if (StateChange != null)
+ StateChange (this, new StateChangeEventArgs
(from, to));
#else
base.OnStateChange (new StateChangeEventArgs (from,
to));
#endif
- }
+ }
private OdbcInfoMessageEventArgs CreateOdbcInfoMessageEvent
(OdbcErrorCollection errors)
{
@@ -493,9 +477,8 @@
}
private void OnOdbcInfoMessage (OdbcInfoMessageEventArgs e) {
- if (null != InfoMessage) {
+ if (InfoMessage != null)
InfoMessage (this, e);
- }
}
#endregion
@@ -504,12 +487,12 @@
#if ONLY_1_1
[OdbcDescription ("DbConnection_StateChange")]
- [OdbcCategory ("DataCategory_StateChange")]
+ [OdbcCategory ("DataCategory_StateChange")]
public event StateChangeEventHandler StateChange;
#endif // ONLY_1_1
[OdbcDescription ("DbConnection_InfoMessage")]
- [OdbcCategory ("DataCategory_InfoMessage")]
+ [OdbcCategory ("DataCategory_InfoMessage")]
public event OdbcInfoMessageEventHandler InfoMessage;
private void MessageHandler (OdbcException e)
Modified: trunk/mcs/class/System.Data/System.Data.Odbc/OdbcTransaction.cs
===================================================================
--- trunk/mcs/class/System.Data/System.Data.Odbc/OdbcTransaction.cs
2007-10-19 07:25:50 UTC (rev 87814)
+++ trunk/mcs/class/System.Data/System.Data.Odbc/OdbcTransaction.cs
2007-10-19 09:06:25 UTC (rev 87815)
@@ -6,8 +6,6 @@
//
// Copyright (C) Brian Ritchie, 2002
//
-
-//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
@@ -34,7 +32,7 @@
#if NET_2_0
using System.Data.Common;
-#endif // NET_2_0
+#endif
namespace System.Data.Odbc
{
@@ -42,55 +40,56 @@
public sealed class OdbcTransaction : DbTransaction, IDisposable
#else
public sealed class OdbcTransaction : MarshalByRefObject, IDbTransaction
-#endif // NET_2_0
+#endif
{
- private bool disposed = false;
+ private bool disposed;
private OdbcConnection connection;
private IsolationLevel isolationlevel;
- internal OdbcTransaction(OdbcConnection conn, IsolationLevel
isolationlevel)
+ internal OdbcTransaction (OdbcConnection conn, IsolationLevel
isolationlevel)
{
// Set Auto-commit (102) to false
- SetAutoCommit(conn, false);
+ SetAutoCommit (conn, false);
// Handle isolation level
- int lev=0;
- switch (isolationlevel)
- {
- case IsolationLevel.ReadUncommitted:
- lev=1;
- break;
- case IsolationLevel.ReadCommitted:
- lev=2;
- break;
- case IsolationLevel.RepeatableRead:
- lev=3;
- break;
- case IsolationLevel.Serializable:
- lev=4;
- break;
- case IsolationLevel.Unspecified:
- lev=0;
- break;
- default:
- throw new NotSupportedException();
+ int lev = 0;
+ switch (isolationlevel) {
+ case IsolationLevel.ReadUncommitted:
+ lev = 1;
+ break;
+ case IsolationLevel.ReadCommitted:
+ lev = 2;
+ break;
+ case IsolationLevel.RepeatableRead:
+ lev = 3;
+ break;
+ case IsolationLevel.Serializable:
+ lev = 4;
+ break;
+ case IsolationLevel.Unspecified:
+ lev = 0;
+ break;
+ default:
+ throw new NotSupportedException();
}
// mbd: Getting the return code of the second call to
SQLSetConnectAttr is missing from original code!
- OdbcReturn ret = libodbc.SQLSetConnectAttr(conn.hDbc,
OdbcConnectionAttribute.TransactionIsolation, (IntPtr) lev, 0);
- if ((ret!=OdbcReturn.Success) &&
(ret!=OdbcReturn.SuccessWithInfo))
- throw new OdbcException(new
OdbcError("SQLSetConnectAttr",OdbcHandleType.Dbc,conn.hDbc));
- this.isolationlevel=isolationlevel;
+ OdbcReturn ret = libodbc.SQLSetConnectAttr (conn.hDbc,
+ OdbcConnectionAttribute.TransactionIsolation,
+ (IntPtr) lev, 0);
+ if (ret != OdbcReturn.Success && ret !=
OdbcReturn.SuccessWithInfo)
+ throw new OdbcException (new OdbcError
("SQLSetConnectAttr", OdbcHandleType.Dbc, conn.hDbc));
+ this.isolationlevel = isolationlevel;
connection=conn;
}
-
+
// Set Auto-commit (102) connection attribute
// [MonoTODO]: nice to have before svn: define
libodbc.SQL_IS_UINTEGER = -5
- private static void SetAutoCommit(OdbcConnection conn, bool
isAuto)
+ private static void SetAutoCommit (OdbcConnection conn, bool
isAuto)
{
- OdbcReturn ret=libodbc.SQLSetConnectAttr(
- conn.hDbc, OdbcConnectionAttribute.AutoCommit,
(IntPtr)(isAuto ? 1 : 0), -5
- );
- if ((ret!=OdbcReturn.Success) &&
(ret!=OdbcReturn.SuccessWithInfo))
- throw new OdbcException(new
OdbcError("SQLSetConnectAttr",OdbcHandleType.Dbc,conn.hDbc));
+ OdbcReturn ret = libodbc.SQLSetConnectAttr (conn.hDbc,
+ OdbcConnectionAttribute.AutoCommit,
+ (IntPtr) (isAuto ? 1 : 0), -5);
+ if (ret != OdbcReturn.Success && ret !=
OdbcReturn.SuccessWithInfo)
+ throw new OdbcException (new OdbcError
("SQLSetConnectAttr", OdbcHandleType.Dbc, conn.hDbc));
}
#region Implementation of IDisposable
@@ -98,82 +97,76 @@
#if NET_2_0
protected override
#endif
- void Dispose(bool disposing)
+ void Dispose (bool disposing)
{
if (!disposed) {
- if (disposing) {
- Rollback();
- }
+ if (disposing)
+ Rollback ();
disposed = true;
}
}
- void IDisposable.Dispose()
+ void IDisposable.Dispose ()
{
- Dispose(true);
- GC.SuppressFinalize(this);
+ Dispose (true);
+ GC.SuppressFinalize (this);
}
#endregion Implementation of IDisposable
#region Implementation of IDbTransaction
- public
+ public
#if NET_2_0
override
#endif //NET_2_0
- void Commit()
+ void Commit ()
{
- if (connection.transaction==this)
- {
- OdbcReturn ret=libodbc.SQLEndTran((short)
OdbcHandleType.Dbc, connection.hDbc, 0);
- if ((ret != OdbcReturn.Success) && (ret !=
OdbcReturn.SuccessWithInfo))
+ if (connection.transaction == this) {
+ OdbcReturn ret = libodbc.SQLEndTran ((short)
OdbcHandleType.Dbc, connection.hDbc, 0);
+ if (ret != OdbcReturn.Success && ret !=
OdbcReturn.SuccessWithInfo)
throw new OdbcException (new OdbcError
("SQLEndTran", OdbcHandleType.Dbc, connection.hDbc));
- SetAutoCommit(connection, true); // restore
default auto-commit
- connection.transaction=null;
- }
- else
- throw new InvalidOperationException();
+ SetAutoCommit (connection, true); // restore
default auto-commit
+ connection.transaction = null;
+ } else
+ throw new InvalidOperationException ();
}
- public
+ public
#if NET_2_0
override
#endif //NET_2_0
void Rollback()
{
- if (connection.transaction==this)
- {
- OdbcReturn ret=libodbc.SQLEndTran((short)
OdbcHandleType.Dbc, connection.hDbc, 1);
- if ((ret!=OdbcReturn.Success) &&
(ret!=OdbcReturn.SuccessWithInfo))
- throw new OdbcException(new
OdbcError("SQLEndTran",OdbcHandleType.Dbc,connection.hDbc));
- SetAutoCommit(connection, true); //
restore default auto-commit
- connection.transaction=null;
- }
- else
- throw new InvalidOperationException();
+ if (connection.transaction == this) {
+ OdbcReturn ret = libodbc.SQLEndTran ((short)
OdbcHandleType.Dbc, connection.hDbc, 1);
+ if (ret!=OdbcReturn.Success && ret !=
OdbcReturn.SuccessWithInfo)
+ throw new OdbcException (new OdbcError
("SQLEndTran", OdbcHandleType.Dbc, connection.hDbc));
+ SetAutoCommit (connection, true); // restore
default auto-commit
+ connection.transaction = null;
+ } else
+ throw new InvalidOperationException ();
}
-#if ONLY_1_1
- IDbConnection IDbTransaction.Connection {
+#if NET_2_0
+ protected override DbConnection DbConnection {
get {
return Connection;
}
}
-
-#endif // ONLY_1_1
-#if NET_2_0
- protected override DbConnection DbConnection {
+#else
+ IDbConnection IDbTransaction.Connection {
get {
return Connection;
}
}
-#endif // NET_2_0
- public
+#endif
+
+ public
#if NET_2_0
override
-#endif //NET_2_0
+#endif
IsolationLevel IsolationLevel {
get {
return isolationlevel;
Modified: trunk/mcs/class/System.Data/System.Data.Odbc/libodbc.cs
===================================================================
--- trunk/mcs/class/System.Data/System.Data.Odbc/libodbc.cs 2007-10-19
07:25:50 UTC (rev 87814)
+++ trunk/mcs/class/System.Data/System.Data.Odbc/libodbc.cs 2007-10-19
09:06:25 UTC (rev 87815)
@@ -4,13 +4,9 @@
// Authors:
// Brian Ritchie ([EMAIL PROTECTED])
// Sureshkumar T ([EMAIL PROTECTED])
-//
//
// Copyright (C) Brian Ritchie, 2002
-//
//
-
-//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
@@ -39,14 +35,16 @@
namespace System.Data.Odbc
{
- internal enum OdbcHandleType : short {
+ internal enum OdbcHandleType : short
+ {
Env = 1,
Dbc = 2,
Stmt = 3,
Desc = 4
- };
+ }
- internal enum OdbcReturn : short {
+ internal enum OdbcReturn : short
+ {
Error = -1,
InvalidHandle = -2,
StillExecuting = 2,
@@ -56,77 +54,78 @@
NoData = 100
}
- internal enum OdbcEnv : ushort {
+ internal enum OdbcEnv : ushort
+ {
OdbcVersion = 200,
ConnectionPooling = 201,
CPMatch = 202
}
- internal enum OdbcConnectionAttribute : int
+ internal enum OdbcConnectionAttribute : int
{
- AutoCommit=102,
- TransactionIsolation=108,
- CurrentCatalog=109
+ AutoCommit = 102,
+ TransactionIsolation = 108,
+ CurrentCatalog = 109
}
- internal enum OdbcInfo : ushort
- {
- DataSourceName = 2,
- DriverName = 6,
- DriverVersion = 7,
- DatabaseName = 16,
- DbmsVersion = 18
- }
+ internal enum OdbcInfo : ushort
+ {
+ DataSourceName = 2,
+ DriverName = 6,
+ DriverVersion = 7,
+ DatabaseName = 16,
+ DbmsVersion = 18
+ }
internal enum OdbcInputOutputDirection : short
{
- Input=1,
- InputOutput=2,
- ResultCol=3,
- Output=4,
- ReturnValue=5
+ Input = 1,
+ InputOutput = 2,
+ ResultCol = 3,
+ Output = 4,
+ ReturnValue = 5
}
- internal enum OdbcLengthIndicator : short
- {
- NoTotal = -4,
- NullData = -1
- }
-
- // Keep this sorted.
- internal enum FieldIdentifier : short
- {
- AutoUniqueValue = 11, /*
SQL_DESC_AUTO_UNIQUE_VALUE */
- BaseColumnName = 22, /*
SQL_DESC_BASE_COLUMN_NAME */
- BaseTableName = 23, /*
SQL_DESC_BASE_TABLE_NAME */
- CaseSensitive = 12, /*
SQL_DESC_CASE_SENSITIVE */
- CatelogName = 17, /* SQL_DESC_CATALOG_NAME
*/
- ConsiseType = 2, /* SQL_DESC_CONCISE_TYPE
*/
- Count = 1001, /* SQL_DESC_COUNT */
- DisplaySize = 6, /* SQL_DESC_DISPLAY_SIZE
*/
- FixedPrecScale = 9, /*
SQL_DESC_FIXED_PREC_SCALE */
- Label = 18, /* SQL_DESC_LABEL */
- Length = 1003, /* SQL_DESC_LENGTH */
- LiteralPrefix = 27, /*
SQL_DESC_LITERAL_PREFIX */
- LiteralSuffix = 28, /*
SQL_DESC_LITERAL_SUFFIX */
- LocalTypeName = 29, /*
SQL_DESC_LOCAL_TYPE_NAME */
- Name = 1011, /* SQL_DESC_NAME */
- Nullable = 1008, /* SQL_DESC_NULLABLE */
- NumPrecRadix = 32, /*
SQL_DESC_NUM_PREC_RADIX */
- OctetLength = 1013, /* SQL_DESC_OCTET_LENGTH
*/
- Precision = 1005, /* SQL_DESC_PRECISION */
- Scale = 1006, /* SQL_DESC_SCALE */
- SchemaName = 16, /* SQL_DESC_SCHEMA_NAME
*/
- Searchable = 13, /* SQL_DESC_SEARCHABLE */
- TableName = 15, /* SQL_DESC_TABLE_NAME */
- Type = 1002, /* SQL_DESC_TYPE */
- TypeName = 14, /* SQL_DESC_TYPE_NAME */
- Unnamed = 1012, /* SQL_DESC_UNNAMED */
- Unsigned = 8, /* SQL_DESC_UNSIGNED */
- Updatable = 10 /* SQL_DESC_UPDATABLE */
- }
-
- [StructLayout(LayoutKind.Sequential)]
+ internal enum OdbcLengthIndicator : short
+ {
+ NoTotal = -4,
+ NullData = -1
+ }
+
+ // Keep this sorted.
+ internal enum FieldIdentifier : short
+ {
+ AutoUniqueValue = 11, /* SQL_DESC_AUTO_UNIQUE_VALUE */
+ BaseColumnName = 22, /* SQL_DESC_BASE_COLUMN_NAME */
+ BaseTableName = 23, /* SQL_DESC_BASE_TABLE_NAME */
+ CaseSensitive = 12, /* SQL_DESC_CASE_SENSITIVE */
+ CatelogName = 17, /* SQL_DESC_CATALOG_NAME */
+ ConsiseType = 2, /* SQL_DESC_CONCISE_TYPE */
+ Count = 1001, /* SQL_DESC_COUNT */
+ DisplaySize = 6, /* SQL_DESC_DISPLAY_SIZE */
+ FixedPrecScale = 9, /* SQL_DESC_FIXED_PREC_SCALE */
+ Label = 18, /* SQL_DESC_LABEL */
+ Length = 1003, /* SQL_DESC_LENGTH */
+ LiteralPrefix = 27, /* SQL_DESC_LITERAL_PREFIX */
+ LiteralSuffix = 28, /* SQL_DESC_LITERAL_SUFFIX */
+ LocalTypeName = 29, /* SQL_DESC_LOCAL_TYPE_NAME */
+ Name = 1011, /* SQL_DESC_NAME */
+ Nullable = 1008, /* SQL_DESC_NULLABLE */
+ NumPrecRadix = 32, /* SQL_DESC_NUM_PREC_RADIX */
+ OctetLength = 1013, /* SQL_DESC_OCTET_LENGTH */
+ Precision = 1005, /* SQL_DESC_PRECISION */
+ Scale = 1006, /* SQL_DESC_SCALE */
+ SchemaName = 16, /* SQL_DESC_SCHEMA_NAME */
+ Searchable = 13, /* SQL_DESC_SEARCHABLE */
+ TableName = 15, /* SQL_DESC_TABLE_NAME */
+ Type = 1002, /* SQL_DESC_TYPE */
+ TypeName = 14, /* SQL_DESC_TYPE_NAME */
+ Unnamed = 1012, /* SQL_DESC_UNNAMED */
+ Unsigned = 8, /* SQL_DESC_UNSIGNED */
+ Updatable = 10 /* SQL_DESC_UPDATABLE */
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
internal struct OdbcTimestamp
{
internal short year;
@@ -138,16 +137,14 @@
internal ulong fraction;
}
-
-// sealed internal class libodbc
internal class libodbc
{
- #region global constants
+ #region global constants
internal const int SQL_OV_ODBC2 = 2;
internal const int SQL_OV_ODBC3 = 3;
- internal const string SQLSTATE_RIGHT_TRUNC =
"01004";
- internal const char C_NULL = '\0';
+ internal const string SQLSTATE_RIGHT_TRUNC =
"01004";
+ internal const char C_NULL = '\0';
internal const int SQL_NTS = -3;
internal const short SQL_TRUE = 1;
@@ -166,130 +163,257 @@
internal const short SQL_ATTR_READONLY = 0;
internal const short SQL_ATTR_WRITE = 1;
internal const short SQL_ATTR_READWRITE_UNKNOWN = 2;
- #endregion
+ #endregion
internal static OdbcInputOutputDirection
ConvertParameterDirection(
ParameterDirection dir)
{
- switch (dir)
- {
- case ParameterDirection.Input:
- return OdbcInputOutputDirection.Input;
- case ParameterDirection.InputOutput:
- return
OdbcInputOutputDirection.InputOutput;
- case ParameterDirection.Output:
- return OdbcInputOutputDirection.Output;
- case ParameterDirection.ReturnValue:
- return
OdbcInputOutputDirection.ReturnValue;
- default:
- return OdbcInputOutputDirection.Input;
+ switch (dir) {
+ case ParameterDirection.Input:
+ return OdbcInputOutputDirection.Input;
+ case ParameterDirection.InputOutput:
+ return OdbcInputOutputDirection.InputOutput;
+ case ParameterDirection.Output:
+ return OdbcInputOutputDirection.Output;
+ case ParameterDirection.ReturnValue:
+ return OdbcInputOutputDirection.ReturnValue;
+ default:
+ return OdbcInputOutputDirection.Input;
}
}
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLAllocHandle
(OdbcHandleType HandleType, IntPtr InputHandle, ref IntPtr OutputHandlePtr);
+ internal static extern OdbcReturn SQLAllocHandle (
+ OdbcHandleType HandleType,
+ IntPtr InputHandle,
+ ref IntPtr OutputHandlePtr);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLSetEnvAttr (IntPtr
EnvHandle, OdbcEnv Attribute, IntPtr Value, int StringLength);
+ internal static extern OdbcReturn SQLSetEnvAttr (
+ IntPtr EnvHandle,
+ OdbcEnv Attribute,
+ IntPtr Value,
+ int StringLength);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLConnect (IntPtr
ConnectionHandle, string ServerName, short NameLength1, string UserName, short
NameLength2, string Authentication, short NameLength3);
+ internal static extern OdbcReturn SQLConnect (
+ IntPtr ConnectionHandle,
+ string ServerName,
+ short NameLength1,
+ string UserName,
+ short NameLength2,
+ string Authentication,
+ short NameLength3);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLDriverConnect(IntPtr
ConnectionHandle, IntPtr WindowHandle, string InConnectionString, short
StringLength1, string OutConnectionString, short BufferLength, ref short
StringLength2Ptr, ushort DriverCompletion);
+ internal static extern OdbcReturn SQLDriverConnect (
+ IntPtr ConnectionHandle,
+ IntPtr WindowHandle,
+ string InConnectionString,
+ short StringLength1,
+ string OutConnectionString,
+ short BufferLength,
+ ref short StringLength2Ptr,
+ ushort DriverCompletion);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLExecDirect (IntPtr
StatementHandle, string StatementText, int TextLength);
+ internal static extern OdbcReturn SQLExecDirect (
+ IntPtr StatementHandle,
+ string StatementText,
+ int TextLength);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLRowCount (IntPtr
StatementHandle, ref int RowCount);
+ internal static extern OdbcReturn SQLRowCount (
+ IntPtr StatementHandle,
+ ref int RowCount);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLNumResultCols (IntPtr
StatementHandle, ref short ColumnCount);
+ internal static extern OdbcReturn SQLNumResultCols (
+ IntPtr StatementHandle,
+ ref short ColumnCount);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLFetch (IntPtr
StatementHandle);
+ internal static extern OdbcReturn SQLFetch (
+ IntPtr StatementHandle);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLGetData (IntPtr
StatementHandle, ushort ColumnNumber, SQL_C_TYPE TargetType, ref bool
TargetPtr, int BufferLen, ref int Len);
+ internal static extern OdbcReturn SQLGetData (
+ IntPtr StatementHandle,
+ ushort ColumnNumber,
+ SQL_C_TYPE TargetType,
+ ref bool TargetPtr,
+ int BufferLen,
+ ref int Len);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLGetData (IntPtr
StatementHandle, ushort ColumnNumber, SQL_C_TYPE TargetType, ref double
TargetPtr, int BufferLen, ref int Len);
+ internal static extern OdbcReturn SQLGetData (
+ IntPtr StatementHandle,
+ ushort ColumnNumber,
+ SQL_C_TYPE TargetType,
+ ref double TargetPtr,
+ int BufferLen,
+ ref int Len);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLGetData (IntPtr
StatementHandle, ushort ColumnNumber, SQL_C_TYPE TargetType, ref long
TargetPtr, int BufferLen, ref int Len);
+ internal static extern OdbcReturn SQLGetData (
+ IntPtr StatementHandle,
+ ushort ColumnNumber,
+ SQL_C_TYPE TargetType,
+ ref long TargetPtr,
+ int BufferLen,
+ ref int Len);
- [DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLGetData (IntPtr
StatementHandle, ushort ColumnNumber, SQL_C_TYPE TargetType, ref short
TargetPtr, int BufferLen, ref int Len);
+ [DllImport("odbc32.dll")]
+ internal static extern OdbcReturn SQLGetData (
+ IntPtr StatementHandle,
+ ushort ColumnNumber,
+ SQL_C_TYPE TargetType,
+ ref short TargetPtr,
+ int BufferLen,
+ ref int Len);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLGetData (IntPtr
StatementHandle, ushort ColumnNumber, SQL_C_TYPE TargetType, ref float
TargetPtr, int BufferLen, ref int Len);
+ internal static extern OdbcReturn SQLGetData (
+ IntPtr StatementHandle,
+ ushort ColumnNumber,
+ SQL_C_TYPE TargetType,
+ ref float TargetPtr,
+ int BufferLen,
+ ref int Len);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLGetData (IntPtr
StatementHandle, ushort ColumnNumber, SQL_C_TYPE TargetType, ref OdbcTimestamp
TargetPtr, int BufferLen, ref int Len);
+ internal static extern OdbcReturn SQLGetData (
+ IntPtr StatementHandle,
+ ushort ColumnNumber,
+ SQL_C_TYPE TargetType,
+ ref OdbcTimestamp TargetPtr,
+ int BufferLen,
+ ref int Len);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLGetData (IntPtr
StatementHandle, ushort ColumnNumber, SQL_C_TYPE TargetType, ref int TargetPtr,
int BufferLen, ref int Len);
+ internal static extern OdbcReturn SQLGetData (
+ IntPtr StatementHandle,
+ ushort ColumnNumber,
+ SQL_C_TYPE TargetType,
+ ref int TargetPtr,
+ int BufferLen,
+ ref int Len);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLGetData (IntPtr
StatementHandle, ushort ColumnNumber, SQL_C_TYPE TargetType, byte[] TargetPtr,
int BufferLen, ref int Len);
+ internal static extern OdbcReturn SQLGetData (
+ IntPtr StatementHandle,
+ ushort ColumnNumber,
+ SQL_C_TYPE TargetType,
+ byte[] TargetPtr,
+ int BufferLen,
+ ref int Len);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLDescribeCol(IntPtr
StatementHandle, ushort ColumnNumber, byte[] ColumnName, short BufferLength,
ref short NameLength, ref short DataType, ref uint ColumnSize, ref short
DecimalDigits, ref short Nullable);
+ internal static extern OdbcReturn SQLDescribeCol (
+ IntPtr StatementHandle,
+ ushort ColumnNumber,
+ byte[] ColumnName,
+ short BufferLength,
+ ref short NameLength,
+ ref short DataType,
+ ref uint ColumnSize,
+ ref short DecimalDigits,
+ ref short Nullable);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLFreeHandle(ushort
HandleType, IntPtr SqlHandle);
+ internal static extern OdbcReturn SQLFreeHandle (
+ ushort HandleType,
+ IntPtr SqlHandle);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLDisconnect(IntPtr
ConnectionHandle);
+ internal static extern OdbcReturn SQLDisconnect (
+ IntPtr ConnectionHandle);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLPrepare(IntPtr
StatementHandle, string Statement, int TextLength);
+ internal static extern OdbcReturn SQLPrepare (
+ IntPtr StatementHandle,
+ string Statement,
+ int TextLength);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLExecute(IntPtr
StatementHandle);
+ internal static extern OdbcReturn SQLExecute (
+ IntPtr StatementHandle);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLSetConnectAttr(IntPtr
ConnectionHandle, OdbcConnectionAttribute Attribute, IntPtr Value, int Length);
+ internal static extern OdbcReturn SQLSetConnectAttr (
+ IntPtr ConnectionHandle,
+ OdbcConnectionAttribute Attribute,
+ IntPtr Value,
+ int Length);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLEndTran(int HandleType,
IntPtr Handle, short CompletionType);
+ internal static extern OdbcReturn SQLEndTran (
+ int HandleType,
+ IntPtr Handle,
+ short CompletionType);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLBindParameter(IntPtr
StatementHandle, ushort ParamNum,
- short InputOutputType, SQL_C_TYPE ValueType,
SQL_TYPE ParamType, uint ColSize,
- short DecimalDigits, IntPtr ParamValue, int
BufLen, IntPtr StrLen);
+ internal static extern OdbcReturn SQLBindParameter (
+ IntPtr StatementHandle,
+ ushort ParamNum,
+ short InputOutputType,
+ SQL_C_TYPE ValueType,
+ SQL_TYPE ParamType,
+ uint ColSize,
+ short DecimalDigits,
+ IntPtr ParamValue,
+ int BufLen,
+ IntPtr StrLen);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLCancel(IntPtr
StatementHandle);
+ internal static extern OdbcReturn SQLCancel (
+ IntPtr StatementHandle);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLCloseCursor(IntPtr
StatementHandle);
+ internal static extern OdbcReturn SQLCloseCursor (
+ IntPtr StatementHandle);
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLError(IntPtr
EnvironmentHandle,
- IntPtr
ConnectionHandle, IntPtr StatementHandle,
- byte[] Sqlstate, ref
int NativeError,
- byte[] MessageText,
short BufferLength,
- ref short
TextLength);
-
+ internal static extern OdbcReturn SQLError (
+ IntPtr EnvironmentHandle,
+ IntPtr ConnectionHandle,
+ IntPtr StatementHandle,
+ byte[] Sqlstate,
+ ref int NativeError,
+ byte[] MessageText,
+ short BufferLength,
+ ref short TextLength);
+
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLGetStmtAttr(IntPtr
StatementHandle,
- int Attribute,
ref IntPtr Value, int BufLen, int StrLen);
-
+ internal static extern OdbcReturn SQLGetStmtAttr (
+ IntPtr StatementHandle,
+ int Attribute,
+ ref IntPtr Value,
+ int BufLen,
+ int StrLen);
+
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLSetDescField(IntPtr
DescriptorHandle,
- short RecNumber, short FieldIdentifier, byte[] Value,
int BufLen);
-
+ internal static extern OdbcReturn SQLSetDescField (
+ IntPtr DescriptorHandle,
+ short RecNumber,
+ short FieldIdentifier,
+ byte[] Value,
+ int BufLen);
+
[DllImport("odbc32.dll")]
- internal static extern OdbcReturn SQLGetDiagRec (OdbcHandleType
HandleType,
- IntPtr Handle,
ushort RecordNumber,
- byte [] Sqlstate,
ref int NativeError,
- byte [] MessageText,
short BufferLength,
- ref short
TextLength);
+ internal static extern OdbcReturn SQLGetDiagRec (
+ OdbcHandleType HandleType,
+ IntPtr Handle,
+ ushort RecordNumber,
+ byte [] Sqlstate,
+ ref int NativeError,
+ byte [] MessageText,
+ short BufferLength,
+ ref short TextLength);
[DllImport ("odbc32.dll")]
- internal static extern OdbcReturn SQLMoreResults (IntPtr
Handle);
+ internal static extern OdbcReturn SQLMoreResults (
+ IntPtr Handle);
internal enum SQLFreeStmtOptions : short
{
@@ -300,61 +424,66 @@
}
[DllImport ("odbc32.dll")]
- internal static extern OdbcReturn SQLFreeStmt (IntPtr Handle,
SQLFreeStmtOptions option);
+ internal static extern OdbcReturn SQLFreeStmt (
+ IntPtr Handle,
+ SQLFreeStmtOptions option);
[DllImport ("odbc32.dll")]
- internal static extern OdbcReturn SQLGetInfo (IntPtr
connHandle,
- OdbcInfo info,
- byte [] buffer,
- short
buffLength,
- ref short
remainingStrLen);
- [DllImport ("odbc32.dll")]
- internal static extern OdbcReturn SQLColAttribute (IntPtr
StmtHandle,
- short
column,
-
FieldIdentifier fieldId,
- byte []
charAttributePtr,
- short
bufferLength,
- ref short
strLengthPtr,
- ref int
numericAttributePtr
- );
- [DllImport ("odbc32.dll")]
- internal static extern OdbcReturn SQLPrimaryKeys (IntPtr
StmtHandle,
- string
catalog,
- short
catalogLength,
- string
schema,
- short
schemaLength,
- string
tableName,
- short
tableLength
- );
+ internal static extern OdbcReturn SQLGetInfo (
+ IntPtr connHandle,
+ OdbcInfo info,
+ byte [] buffer,
+ short buffLength,
+ ref short remainingStrLen);
- [DllImport ("odbc32.dll")]
- internal static extern OdbcReturn SQLStatistics (IntPtr
StmtHandle,
- string catalog,
- short
catalogLength,
- string schema,
- short
schemaLength,
- string
tableName,
- short
tableLength,
- short unique,
- short Reserved
- );
+ [DllImport ("odbc32.dll")]
+ internal static extern OdbcReturn SQLColAttribute (
+ IntPtr StmtHandle,
+ short column,
+ FieldIdentifier fieldId,
+ byte [] charAttributePtr,
+ short bufferLength,
+ ref short strLengthPtr,
+ ref int numericAttributePtr);
- [DllImport ("odbc32.dll")]
- internal static extern OdbcReturn SQLBindCol (IntPtr
StmtHandle,
- short
column,
- SQL_C_TYPE
targetType,
- byte []
buffer,
- int
bufferLength,
- ref int
indicator
- );
+ [DllImport ("odbc32.dll")]
+ internal static extern OdbcReturn SQLPrimaryKeys (
+ IntPtr StmtHandle,
+ string catalog,
+ short catalogLength,
+ string schema,
+ short schemaLength,
+ string tableName,
+ short tableLength);
[DllImport ("odbc32.dll")]
- internal static extern OdbcReturn SQLBindCol (IntPtr
StmtHandle,
- short
column,
- SQL_C_TYPE
targetType,
- ref short
value,
- int
bufferLength,
- ref int
indicator
- );
+ internal static extern OdbcReturn SQLStatistics (
+ IntPtr StmtHandle,
+ string catalog,
+ short catalogLength,
+ string schema,
+ short schemaLength,
+ string tableName,
+ short tableLength,
+ short unique,
+ short Reserved);
+
+ [DllImport ("odbc32.dll")]
+ internal static extern OdbcReturn SQLBindCol (
+ IntPtr StmtHandle,
+ short column,
+ SQL_C_TYPE targetType,
+ byte [] buffer,
+ int bufferLength,
+ ref int indicator);
+
+ [DllImport ("odbc32.dll")]
+ internal static extern OdbcReturn SQLBindCol (
+ IntPtr StmtHandle,
+ short column,
+ SQL_C_TYPE targetType,
+ ref short value,
+ int bufferLength,
+ ref int indicator);
}
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches