diff --git a/src/Spring/Spring.Data/Data/Core/AdoTemplate.cs b/src/Spring/Spring.Data/Data/Core/AdoTemplate.cs
index 3324b7cf..20bd6b66 100644
--- a/src/Spring/Spring.Data/Data/Core/AdoTemplate.cs
+++ b/src/Spring/Spring.Data/Data/Core/AdoTemplate.cs
@@ -2128,13 +2128,15 @@ namespace Spring.Data.Core
}
}
mappingCollection = new DataTableMappingCollection();
- int counter = 0;
+ int counter = 0;
+ bool isFirstTable = true;
foreach (string dataSetTableName in dataSetTableNames)
{
string sourceTableName;
- if (counter == 0)
+ if (isFirstTable)
{
- sourceTableName = "Table";
+ sourceTableName = "Table";
+ isFirstTable = false;
}
else
{
diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/AdoTemplateTests.cs b/test/Spring/Spring.Data.Integration.Tests/Data/AdoTemplateTests.cs
index 1e04e9da..5372315b 100644
--- a/test/Spring/Spring.Data.Integration.Tests/Data/AdoTemplateTests.cs
+++ b/test/Spring/Spring.Data.Integration.Tests/Data/AdoTemplateTests.cs
@@ -90,7 +90,22 @@ namespace Spring.Data
}
-
+ [Test]
+ public void FillDataSetWithTwoDataTables()
+ {
+ PopulateTestObjectsTable();
+ PopulateCreditObjectsTable();
+ string testObjectsql = ValidateTestObjects(4);
+ string creditObjectsql = ValidateCreditObjects(4);
+
+ DataSet dataSet;
+
+ dataSet = new DataSet();
+ adoOperations.DataSetFill(dataSet, CommandType.Text, testObjectsql + ";" + creditObjectsql, new string[] { "TestObjects", "CreditObjects" });
+ Assert.AreEqual(2, dataSet.Tables.Count);
+ Assert.AreEqual(4, dataSet.Tables["TestObjects"].Rows.Count);
+ Assert.AreEqual(4, dataSet.Tables["CreditObjects"].Rows.Count);
+ }
[Test]
public void FillDataSetNoParams()
@@ -162,6 +177,16 @@ namespace Spring.Data
}
}
+ private void PopulateCreditObjectsTable()
+ {
+ adoOperations.ExecuteNonQuery(CommandType.Text, "truncate table Credits");
+ for (int i=0; i<4; i++)
+ {
+ String sql = String.Format("insert into Credits(CreditAmount) VALUES ('{0}')", i+10);
+ adoOperations.ExecuteNonQuery(CommandType.Text, sql);
+ }
+ }
+
private string ValidateTestObjects(int count)
{
String sql = "select TestObjectNo, Age, Name from TestObjects";
@@ -172,6 +197,16 @@ namespace Spring.Data
return sql;
}
+ private string ValidateCreditObjects(int count)
+ {
+ String sql = "select CreditID, CreditAmount from Credits";
+ DataSet dataSet = new DataSet();
+ adoOperations.DataSetFill(dataSet, CommandType.Text, sql);
+ Assert.AreEqual(1, dataSet.Tables.Count);
+ Assert.AreEqual(count, dataSet.Tables["Table"].Rows.Count);
+ return sql;
+ }
+
public void DoUpdateDataSet()
@@ -223,13 +258,11 @@ namespace Spring.Data
[Test]
public void ExecuteQueryWithResultSetExtractor()
{
+ PopulateTestObjectsTable();
IResultSetExtractor rse = new TestObjectExtractor();
String sql = "select TestObjectNo, Age, Name from TestObjects";
IList testObjectList = (IList)adoOperations.QueryWithResultSetExtractor(CommandType.Text, sql, rse);
- Assert.AreEqual(1, testObjectList.Count);
-
-
-
+ Assert.AreEqual(4, testObjectList.Count);
}
diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/adoTemplateTests.xml b/test/Spring/Spring.Data.Integration.Tests/Data/adoTemplateTests.xml
index be0e8039..24bfe7ad 100644
--- a/test/Spring/Spring.Data.Integration.Tests/Data/adoTemplateTests.xml
+++ b/test/Spring/Spring.Data.Integration.Tests/Data/adoTemplateTests.xml
@@ -3,9 +3,12 @@
xmlns:db="http://www.springframework.net/database">
+
+ provider="SqlServer-2.0"
+ connectionString="Data Source=SPRINGQA;Database=Spring;Trusted_Connection=False;User ID=springqa;Password=springqa"/>
+
+