2002-08-11 Rodrigo Moya <rodrigo@ximian.com>
[mono.git] / mcs / class / System.Data / System.Data.OleDb / OleDbCommand.cs
index 5110582cc43db0ec0622e2b250bf2ae13454d46f..7191b72b78ed3beb6b037b82506a506a71ee99d7 100644 (file)
@@ -76,61 +76,101 @@ namespace System.Data.OleDb
        
                public string CommandText 
                {
-                       get { return commandText; }
+                       get {
+                               return commandText;
+                       }
                        set { 
                                commandText = value;
                        }
                }
 
                public int CommandTimeout {
-                       get { return timeout; }
-                       set { timeout = value; }
+                       get {
+                               return timeout;
+                       }
+                       set {
+                               timeout = value;
+                       }
                }
 
                public CommandType CommandType { 
-                       get { return commandType; }
-                       set { commandType = value; }
+                       get {
+                               return commandType;
+                       }
+                       set {
+                               commandType = value;
+                       }
                }
 
                public OleDbConnection Connection { 
-                       get { return connection; }
-                       set { connection = value; }
+                       get {
+                               return connection;
+                       }
+                       set {
+                               connection = value;
+                       }
                }
 
                public bool DesignTimeVisible { 
-                       get { return designTimeVisible; }
-                       set { designTimeVisible = value; }
+                       get {
+                               return designTimeVisible;
+                       }
+                       set {
+                               designTimeVisible = value;
+                       }
                }
 
                public OleDbParameterCollection Parameters {
-                       get { return parameters; }
-                       set { parameters = value; }
+                       get {
+                               return parameters;
+                       }
+                       set {
+                               parameters = value;
+                       }
                }
 
                public OleDbTransaction Transaction {
-                       get { return transaction; }
-                       set { transaction = value; }
+                       get {
+                               return transaction;
+                       }
+                       set {
+                               transaction = value;
+                       }
                }
 
                public UpdateRowSource UpdatedRowSource { 
                        [MonoTODO]
-                       get { throw new NotImplementedException (); }
+                       get {
+                               throw new NotImplementedException ();
+                       }
                        [MonoTODO]
-                       set { throw new NotImplementedException (); }
+                       set {
+                               throw new NotImplementedException ();
+                       }
                }
 
                IDbConnection IDbCommand.Connection {
-                       get { return Connection; }
-                       set { Connection = (OleDbConnection) value; }
+                       get {
+                               return Connection;
+                       }
+                       set {
+                               Connection = (OleDbConnection) value;
+                       }
                }
 
                IDataParameterCollection IDbCommand.Parameters  {
-                       get { return Parameters; }
+                       get {
+                               return Parameters;
+                       }
                }
 
                IDbTransaction IDbCommand.Transaction  {
-                       get { return Transaction; }
-                       set { Transaction = (OleDbTransaction) value; }
+                       get {
+                               return Transaction;
+                       }
+                       set {
+                               Transaction = (OleDbTransaction) value;
+                       }
                }
 
                #endregion // Properties
@@ -198,7 +238,9 @@ namespace System.Data.OleDb
                        IntPtr gdaParameterList = parameters.GdaParameterList;
 
                        SetupGdaCommand ();
-                       return libgda.gda_connection_execute_non_query (gdaConnection, (IntPtr) gdaCommand, gdaParameterList);
+                       return libgda.gda_connection_execute_non_query (gdaConnection,
+                                                                       (IntPtr) gdaCommand,
+                                                                       gdaParameterList);
                }
 
                public OleDbDataReader ExecuteReader ()
@@ -223,6 +265,7 @@ namespace System.Data.OleDb
                        IntPtr gdaConnection = connection.GdaConnection;
                        IntPtr gdaParameterList = parameters.GdaParameterList;
 
+                       SetupGdaCommand ();
                        /* FIXME: split all returned resultsets into the array
                           list of results */
                        results.Add (libgda.gda_connection_execute_command (
@@ -241,10 +284,11 @@ namespace System.Data.OleDb
                        return ExecuteReader (behavior);
                }
                
-               [MonoTODO]
                public object ExecuteScalar ()
                {
-                       throw new NotImplementedException ();   
+                       SetupGdaCommand ();
+                       OleDbDataReader reader = ExecuteReader ();
+                       return reader.GetValue (0);
                }
 
                [MonoTODO]
@@ -265,17 +309,5 @@ namespace System.Data.OleDb
                }
 
                #endregion
-
-               #region Internal Methods
-
-               // only meant to be used between OleDbConnection,
-               // OleDbCommand, and OleDbDataReader
-               internal void OpenReader (OleDbDataReader reader) 
-               {
-                       connection.OpenReader (reader);
-               }
-
-               #endregion
-
        }
 }