Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Triger <kostat@mono-cvs.ximian.com>2007-03-05 13:55:06 +0300
committerKonstantin Triger <kostat@mono-cvs.ximian.com>2007-03-05 13:55:06 +0300
commit73fff7caf9334335f1edc049540d5fa8fe333833 (patch)
tree3ab7ffb7bc57bbc3a080e301b4847fc169f55d83
parenta3829e9f80c56307b7b8e116ac408be52f991aa5 (diff)
Implement CommandBehavior.SingleRow
svn path=/trunk/mcs/; revision=73704
-rw-r--r--mcs/class/System.Data/System.Data.ProviderBase.jvm/AbstractDBCommand.cs4
-rw-r--r--mcs/class/System.Data/Test/ProviderTests/System.Data.OleDb.jvm/OleDbDataReader/OleDbDataReader_Read.cs20
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;