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"/> + +