Forráskód Böngészése

* OdbcCommand: fixed linefeeds to DOS to match other sources
in System.Data.Odbc

svn path=/trunk/mcs/; revision=26990

Gert Driesen 21 éve
szülő
commit
e47651fa06

+ 4 - 0
mcs/class/System.Data/System.Data.Odbc/ChangeLog

@@ -1,3 +1,7 @@
+2004-05-09  Gert Driesen ([email protected])
+	* OdbcCommand: fixed linefeeds to DOS to match other sources
+	in System.Data.Odbc
+
 2004-05-09  Gert Driesen ([email protected])
 	* OdbcTransaction.cs: fixed signature to match MS.NET
 

+ 318 - 318
mcs/class/System.Data/System.Data.Odbc/OdbcCommand.cs

@@ -1,324 +1,324 @@
-//
-// System.Data.Odbc.OdbcCommand
-//
-// Authors:
-//   Brian Ritchie ([email protected])
-//
-// Copyright (C) Brian Ritchie, 2002
-//
-
-using System.ComponentModel;
-using System.Data;
-using System.Data.Common;
-using System.Collections;
-using System.Runtime.InteropServices;
-
-namespace System.Data.Odbc
-{
-	/// <summary>
-	/// Represents an SQL statement or stored procedure to execute against a data source.
-	/// </summary>
-	public sealed class OdbcCommand : Component, ICloneable, IDbCommand
-	{
-		#region Fields
-
-		string commandText;
-		int timeout;
-		CommandType commandType;
-		OdbcConnection connection;
-		OdbcParameterCollection parameters;
-		OdbcTransaction transaction;
-		bool designTimeVisible;
-		bool prepared=false;
-		OdbcDataReader dataReader;
-		public IntPtr hstmt;
-		
-		#endregion // Fields
-
-		#region Constructors
-
-		public OdbcCommand ()
-	        {
-			commandText = String.Empty;
-			timeout = 30; // default timeout 
-			commandType = CommandType.Text;
-			connection = null;
-			parameters = new OdbcParameterCollection ();
-			transaction = null;
-			designTimeVisible = false;
-			dataReader = null;
-		}
-
-		public OdbcCommand (string cmdText) : this ()
-		{
-			CommandText = cmdText;
-		}
-
-		public OdbcCommand (string cmdText, OdbcConnection connection)
-			: this (cmdText)
-		{
-			Connection = connection;
-		}
-
-		public OdbcCommand (string cmdText,
-				     OdbcConnection connection,
-				     OdbcTransaction transaction) : this (cmdText, connection)
-		{
-			this.transaction = transaction;
-		}
-
-		#endregion // Constructors
-
-		#region Properties
-
-		internal IntPtr hStmt
-		{
-			get { return hstmt; }
-		}
-
-		public string CommandText 
-		{
-			get {
-				return commandText;
-			}
-			set { 
-				prepared=false;
-				commandText = value;
-			}
-		}
-
-		public int CommandTimeout {
-			get {
-				return timeout;
-			}
-			set {
-				timeout = value;
-			}
-		}
-
-		public CommandType CommandType { 
-			get {
-				return commandType;
-			}
-			set {
-				commandType = value;
-			}
-		}
-
-		public OdbcConnection Connection { 
-			get {
-				return connection;
-			}
-			set {
-				connection = value;
-			}
-		}
-
-		public bool DesignTimeVisible { 
-			get {
-				return designTimeVisible;
-			}
-			set {
-				designTimeVisible = value;
-			}
-		}
-
-		public OdbcParameterCollection Parameters {
-			get {
-				return parameters;
-			}
-			set {
-				parameters = value;
-			}
-		}
-
-		public OdbcTransaction Transaction {
-			get {
-				return transaction;
-			}
-			set {
-				transaction = value;
-			}
-		}
-
-		public UpdateRowSource UpdatedRowSource { 
-			[MonoTODO]
-			get {
-				throw new NotImplementedException ();
-			}
-			[MonoTODO]
-			set {
-				throw new NotImplementedException ();
-			}
-		}
-
-		IDbConnection IDbCommand.Connection {
-			get {
-				return Connection;
-			}
-			set {
-				Connection = (OdbcConnection) value;
-			}
-		}
-
-		IDataParameterCollection IDbCommand.Parameters  {
-			get {
-				return Parameters;
-			}
-		}
-
-		IDbTransaction IDbCommand.Transaction  {
-			get {
-				return (IDbTransaction) Transaction;
-			}
-			set {
-				throw new NotImplementedException ();
-			}
-		}
-
-		#endregion // Properties
-
-		#region Methods
-
-		public void Cancel () 
-		{
-			if (hstmt!=IntPtr.Zero)
-			{
-				OdbcReturn Ret=libodbc.SQLCancel(hstmt);
+//
+// System.Data.Odbc.OdbcCommand
+//
+// Authors:
+//   Brian Ritchie ([email protected])
+//
+// Copyright (C) Brian Ritchie, 2002
+//
+
+using System.ComponentModel;
+using System.Data;
+using System.Data.Common;
+using System.Collections;
+using System.Runtime.InteropServices;
+
+namespace System.Data.Odbc
+{
+	/// <summary>
+	/// Represents an SQL statement or stored procedure to execute against a data source.
+	/// </summary>
+	public sealed class OdbcCommand : Component, ICloneable, IDbCommand
+	{
+		#region Fields
+
+		string commandText;
+		int timeout;
+		CommandType commandType;
+		OdbcConnection connection;
+		OdbcParameterCollection parameters;
+		OdbcTransaction transaction;
+		bool designTimeVisible;
+		bool prepared=false;
+		OdbcDataReader dataReader;
+		public IntPtr hstmt;
+		
+		#endregion // Fields
+
+		#region Constructors
+
+		public OdbcCommand ()
+	        {
+			commandText = String.Empty;
+			timeout = 30; // default timeout 
+			commandType = CommandType.Text;
+			connection = null;
+			parameters = new OdbcParameterCollection ();
+			transaction = null;
+			designTimeVisible = false;
+			dataReader = null;
+		}
+
+		public OdbcCommand (string cmdText) : this ()
+		{
+			CommandText = cmdText;
+		}
+
+		public OdbcCommand (string cmdText, OdbcConnection connection)
+			: this (cmdText)
+		{
+			Connection = connection;
+		}
+
+		public OdbcCommand (string cmdText,
+				     OdbcConnection connection,
+				     OdbcTransaction transaction) : this (cmdText, connection)
+		{
+			this.transaction = transaction;
+		}
+
+		#endregion // Constructors
+
+		#region Properties
+
+		internal IntPtr hStmt
+		{
+			get { return hstmt; }
+		}
+
+		public string CommandText 
+		{
+			get {
+				return commandText;
+			}
+			set { 
+				prepared=false;
+				commandText = value;
+			}
+		}
+
+		public int CommandTimeout {
+			get {
+				return timeout;
+			}
+			set {
+				timeout = value;
+			}
+		}
+
+		public CommandType CommandType { 
+			get {
+				return commandType;
+			}
+			set {
+				commandType = value;
+			}
+		}
+
+		public OdbcConnection Connection { 
+			get {
+				return connection;
+			}
+			set {
+				connection = value;
+			}
+		}
+
+		public bool DesignTimeVisible { 
+			get {
+				return designTimeVisible;
+			}
+			set {
+				designTimeVisible = value;
+			}
+		}
+
+		public OdbcParameterCollection Parameters {
+			get {
+				return parameters;
+			}
+			set {
+				parameters = value;
+			}
+		}
+
+		public OdbcTransaction Transaction {
+			get {
+				return transaction;
+			}
+			set {
+				transaction = value;
+			}
+		}
+
+		public UpdateRowSource UpdatedRowSource { 
+			[MonoTODO]
+			get {
+				throw new NotImplementedException ();
+			}
+			[MonoTODO]
+			set {
+				throw new NotImplementedException ();
+			}
+		}
+
+		IDbConnection IDbCommand.Connection {
+			get {
+				return Connection;
+			}
+			set {
+				Connection = (OdbcConnection) value;
+			}
+		}
+
+		IDataParameterCollection IDbCommand.Parameters  {
+			get {
+				return Parameters;
+			}
+		}
+
+		IDbTransaction IDbCommand.Transaction  {
+			get {
+				return (IDbTransaction) Transaction;
+			}
+			set {
+				throw new NotImplementedException ();
+			}
+		}
+
+		#endregion // Properties
+
+		#region Methods
+
+		public void Cancel () 
+		{
+			if (hstmt!=IntPtr.Zero)
+			{
+				OdbcReturn Ret=libodbc.SQLCancel(hstmt);
 				if ((Ret!=OdbcReturn.Success) && (Ret!=OdbcReturn.SuccessWithInfo)) 
-					throw new OdbcException(new OdbcError("SQLCancel",OdbcHandleType.Stmt,hstmt));
-			}
-			else
-				throw new InvalidOperationException();
-		}
-
-		public OdbcParameter CreateParameter ()
-		{
-			return new OdbcParameter ();
-		}
-
-		IDbDataParameter IDbCommand.CreateParameter ()
-		{
-			return CreateParameter ();
-		}
-		
-		[MonoTODO]
-		protected override void Dispose (bool disposing)
-		{
-		}
-		
-		private void ExecSQL(string sql)
-		{
-			OdbcReturn ret;
-
-			if ((parameters.Count>0) && !prepared)
-				Prepare();
-	
-			if (prepared)
-			{
-				ret=libodbc.SQLExecute(hstmt);
+					throw new OdbcException(new OdbcError("SQLCancel",OdbcHandleType.Stmt,hstmt));
+			}
+			else
+				throw new InvalidOperationException();
+		}
+
+		public OdbcParameter CreateParameter ()
+		{
+			return new OdbcParameter ();
+		}
+
+		IDbDataParameter IDbCommand.CreateParameter ()
+		{
+			return CreateParameter ();
+		}
+		
+		[MonoTODO]
+		protected override void Dispose (bool disposing)
+		{
+		}
+		
+		private void ExecSQL(string sql)
+		{
+			OdbcReturn ret;
+
+			if ((parameters.Count>0) && !prepared)
+				Prepare();
+	
+			if (prepared)
+			{
+				ret=libodbc.SQLExecute(hstmt);
 				if ((ret!=OdbcReturn.Success) && (ret!=OdbcReturn.SuccessWithInfo)) 
-					throw new OdbcException(new OdbcError("SQLExecute",OdbcHandleType.Stmt,hstmt));
-			}
-			else
-			{
-				ret=libodbc.SQLAllocHandle(OdbcHandleType.Stmt, Connection.hDbc, ref hstmt);
+					throw new OdbcException(new OdbcError("SQLExecute",OdbcHandleType.Stmt,hstmt));
+			}
+			else
+			{
+				ret=libodbc.SQLAllocHandle(OdbcHandleType.Stmt, Connection.hDbc, ref hstmt);
 				if ((ret!=OdbcReturn.Success) && (ret!=OdbcReturn.SuccessWithInfo)) 
-					throw new OdbcException(new OdbcError("SQLAllocHandle",OdbcHandleType.Dbc,Connection.hDbc));
-
-				ret=libodbc.SQLExecDirect(hstmt, sql, sql.Length);
+					throw new OdbcException(new OdbcError("SQLAllocHandle",OdbcHandleType.Dbc,Connection.hDbc));
+
+				ret=libodbc.SQLExecDirect(hstmt, sql, sql.Length);
 				if ((ret!=OdbcReturn.Success) && (ret!=OdbcReturn.SuccessWithInfo)) 
-					throw new OdbcException(new OdbcError("SQLExecDirect",OdbcHandleType.Stmt,hstmt));
-			}
-		}
-
-		public int ExecuteNonQuery ()
-		{
-			if (connection == null)
-				throw new InvalidOperationException ();
-			if (connection.State == ConnectionState.Closed)
-				throw new InvalidOperationException ();
-			// FIXME: a third check is mentioned in .NET docs
-			if (connection.DataReader != null)
-				throw new InvalidOperationException ();
-
-			ExecSQL(CommandText);
-
-//			if (!prepared)
-//				libodbc.SQLFreeHandle( (ushort) OdbcHandleType.Stmt, hstmt);
-			return 0;
-		}
-
-		public void Prepare()
-		{
-			OdbcReturn ret=libodbc.SQLAllocHandle(OdbcHandleType.Stmt, Connection.hDbc, ref hstmt);
+					throw new OdbcException(new OdbcError("SQLExecDirect",OdbcHandleType.Stmt,hstmt));
+			}
+		}
+
+		public int ExecuteNonQuery ()
+		{
+			if (connection == null)
+				throw new InvalidOperationException ();
+			if (connection.State == ConnectionState.Closed)
+				throw new InvalidOperationException ();
+			// FIXME: a third check is mentioned in .NET docs
+			if (connection.DataReader != null)
+				throw new InvalidOperationException ();
+
+			ExecSQL(CommandText);
+
+//			if (!prepared)
+//				libodbc.SQLFreeHandle( (ushort) OdbcHandleType.Stmt, hstmt);
+			return 0;
+		}
+
+		public void Prepare()
+		{
+			OdbcReturn ret=libodbc.SQLAllocHandle(OdbcHandleType.Stmt, Connection.hDbc, ref hstmt);
 			if ((ret!=OdbcReturn.Success) && (ret!=OdbcReturn.SuccessWithInfo)) 
-				throw new OdbcException(new OdbcError("SQLAllocHandle",OdbcHandleType.Dbc,Connection.hDbc));
-
-			ret=libodbc.SQLPrepare(hstmt, CommandText, CommandText.Length);
+				throw new OdbcException(new OdbcError("SQLAllocHandle",OdbcHandleType.Dbc,Connection.hDbc));
+
+			ret=libodbc.SQLPrepare(hstmt, CommandText, CommandText.Length);
 			if ((ret!=OdbcReturn.Success) && (ret!=OdbcReturn.SuccessWithInfo)) 
-				throw new OdbcException(new OdbcError("SQLPrepare",OdbcHandleType.Stmt,hstmt));
-
-			int i=1;
-			foreach (OdbcParameter p in parameters)
-			{
-				p.Bind(hstmt, i);
-				i++;
-			}
-
-			prepared=true;
-		}
-
-		public OdbcDataReader ExecuteReader ()
-		{
-			return ExecuteReader (CommandBehavior.Default);
-		}
-
-		IDataReader IDbCommand.ExecuteReader ()
-		{
-			return ExecuteReader ();
-		}
-
-		public OdbcDataReader ExecuteReader (CommandBehavior behavior)
-		{
-			ExecuteNonQuery();
-			dataReader=new OdbcDataReader(this,behavior);
-			return dataReader;
-		}
-
-		IDataReader IDbCommand.ExecuteReader (CommandBehavior behavior)
-		{
-			return ExecuteReader (behavior);
-		}
-		
-		public object ExecuteScalar ()
-		{
-			if (connection.DataReader != null)
-				throw new InvalidOperationException ();
-			object val;
-			OdbcDataReader reader=ExecuteReader();
-			try
-			{
-				val=reader[0];
-			}
-			finally
-			{
-				reader.Close();
-			}
-			return val;
-		}
-
-		[MonoTODO]
-		object ICloneable.Clone ()
-		{
-			throw new NotImplementedException ();	
-		}
-
-		public void ResetCommandTimeout ()
-		{
-			timeout = 30;
-		}
-
-		#endregion
-	}
-}
+				throw new OdbcException(new OdbcError("SQLPrepare",OdbcHandleType.Stmt,hstmt));
+
+			int i=1;
+			foreach (OdbcParameter p in parameters)
+			{
+				p.Bind(hstmt, i);
+				i++;
+			}
+
+			prepared=true;
+		}
+
+		public OdbcDataReader ExecuteReader ()
+		{
+			return ExecuteReader (CommandBehavior.Default);
+		}
+
+		IDataReader IDbCommand.ExecuteReader ()
+		{
+			return ExecuteReader ();
+		}
+
+		public OdbcDataReader ExecuteReader (CommandBehavior behavior)
+		{
+			ExecuteNonQuery();
+			dataReader=new OdbcDataReader(this,behavior);
+			return dataReader;
+		}
+
+		IDataReader IDbCommand.ExecuteReader (CommandBehavior behavior)
+		{
+			return ExecuteReader (behavior);
+		}
+		
+		public object ExecuteScalar ()
+		{
+			if (connection.DataReader != null)
+				throw new InvalidOperationException ();
+			object val;
+			OdbcDataReader reader=ExecuteReader();
+			try
+			{
+				val=reader[0];
+			}
+			finally
+			{
+				reader.Close();
+			}
+			return val;
+		}
+
+		[MonoTODO]
+		object ICloneable.Clone ()
+		{
+			throw new NotImplementedException ();	
+		}
+
+		public void ResetCommandTimeout ()
+		{
+			timeout = 30;
+		}
+
+		#endregion
+	}
+}