Question : SQLDataAdapter fill multiple tables in DataSource using one stored procedure

Hello experts,

I am fairly new to VB.NET and I am faced with the following problem:

I am trying to populate two tables in a dataset using a stored procedure.  The tables are unrelated and the stored procedure has two separate select statements.  When executing the stored procedure in SQL Server Management studio I can see two separate tables.

The dataset as defined in the VB.NET .xsd file has two table definitions.
My issue is that only the first table gets populated.  How can I use the same SqlDataAdapter.

Here is how the FillDataSet subroutine looks like

Protected Sub FillDataset(ByVal commandText As String, ByVal dataSet As DataSet, ByVal     tableNames As String())
try
     Dim sqlCommand As sqlCommand = New sqlCommand(commandText, _conn)          
     sqlCommand.CommandType = CommandType.StoredProcedure
     _da = New SqlDataAdapter(sqlCommand)
   
      'If I just call only the first table is filled.  
     _da.Fill(dataSet, tableNames(0)

    'If I just pass the dataSet
     _da.MissingSchemaAction = MissingSchemaAction.AddWithKey
    _da.Fill(dataSet)

     'I also tried to loop through the tables
     for iTableCount = 0 to tableNames.Length - 1
        _da.Fill(dataSet.Tables(iTableCount).DataSet, tableNames(iTableCount))
     Next

     ' I also tried adding tableMappings but still not success.


I try to determine if both tables were filled the following way:
ds.Table1.Rows.Count > 0
ds.Table2.Rows.Count = 0  ' Meaning that the table is empty.

Answer : SQLDataAdapter fill multiple tables in DataSource using one stored procedure

Do you have two selects in your stored proc?
Also you need to add table mappings...
 and Datarelations if any...
Check out :
http://support.microsoft.com/kb/322793
http://www.eggheadcafe.com/conversation.aspx?messageid=32696857&threadid=32696845

Random Solutions  
 
programming4us programming4us