diff options
-rw-r--r-- | mcs/class/System.Data/System.Data.ProviderBase.jvm/AbstractDBCommand.cs | 4 | ||||
-rw-r--r-- | mcs/class/System.Data/Test/ProviderTests/System.Data.OleDb.jvm/OleDbDataReader/OleDbDataReader_Read.cs | 20 |
2 files changed, 22 insertions, 2 deletions
diff --git a/mcs/class/System.Data/System.Data.ProviderBase.jvm/AbstractDBCommand.cs b/mcs/class/System.Data/System.Data.ProviderBase.jvm/AbstractDBCommand.cs index 0a6604ee013..94b6cdc1f3e 100644 --- a/mcs/class/System.Data/System.Data.ProviderBase.jvm/AbstractDBCommand.cs +++ b/mcs/class/System.Data/System.Data.ProviderBase.jvm/AbstractDBCommand.cs @@ -324,7 +324,7 @@ namespace System.Data.ProviderBase public override object ExecuteScalar () { - IDataReader reader = ExecuteReader(CommandBehavior.SingleRow | CommandBehavior.SequentialAccess); + IDataReader reader = ExecuteReader(CommandBehavior.SequentialAccess); try { do { @@ -833,7 +833,7 @@ namespace System.Data.ProviderBase // FIXME: this causes SP in MS Sql Server to create no mor than one row.
if ((Behavior & CommandBehavior.SingleRow) != 0) {
- _statement.setFetchSize(1);
+ _statement.setMaxRows (1);
}
if(_statement is PreparedStatement) {
diff --git a/mcs/class/System.Data/Test/ProviderTests/System.Data.OleDb.jvm/OleDbDataReader/OleDbDataReader_Read.cs b/mcs/class/System.Data/Test/ProviderTests/System.Data.OleDb.jvm/OleDbDataReader/OleDbDataReader_Read.cs index f6a8037f700..1d8296954ec 100644 --- a/mcs/class/System.Data/Test/ProviderTests/System.Data.OleDb.jvm/OleDbDataReader/OleDbDataReader_Read.cs +++ b/mcs/class/System.Data/Test/ProviderTests/System.Data.OleDb.jvm/OleDbDataReader/OleDbDataReader_Read.cs @@ -78,6 +78,26 @@ namespace MonoTests.System.Data.OleDb } [Test] + public void CommandBehaviorSingleRow () + { + Exception exp = null; + + cmd.CommandText = "Select * From Employees"; + OleDbDataReader rdr = cmd.ExecuteReader(CommandBehavior.SingleRow); + + try + { + BeginCase ("CommandBehaviorSingleRow"); + int i = 0; + while (rdr.Read ()) + i++; + Compare(i, 1); + } + catch(Exception ex){exp = ex;} + finally{EndCase(exp); exp = null;} + } + + [Test] public void run() { Exception exp = null; |