How do I Fill a DataSet with different tables without recreating the adapter?

I'm using ASP.NET 2.0 / C# and I have several SELECT statements that I will be using to fill up a DataSet with DataTables. But I'm stuck recreating the dataadapters. See here:

    OdbcConnection conn = new OdbcConnection(connString);    
    DataSet ds = new DataSet();

    sqlSelect = "SELECT ordid, date FROM orders";
    OdbcDataAdapter ad = new OdbcDataAdapter(sqlSelect, conn);
    ad.Fill(ds, "Orders");

    sqlSelect = "SELECT customerid, misc1 FROM customers";
    OdbcDataAdapter adx = new OdbcDataAdapter(sqlSelect, conn);
    adx.Fill(ds, "Customers");

Notice how I have OdbcDataAdapter adx = new OdbcDataAdapter. How do I declase the OdbcDataAdapter at the top and reuse it?
bemara57Asked:
Who is Participating?
 
Mortaza DoulatyConnect With a Mentor Commented:
Sorry, the last line should change to:
ad.Fill(ds, "Customers");

So your code looks like:
OdbcConnection conn = new OdbcConnection(connString);    
DataSet ds = new DataSet();
 
sqlSelect = "SELECT ordid, date FROM orders";
OdbcDataAdapter ad = new OdbcDataAdapter(sqlSelect, conn);
ad.Fill(ds, "Orders");
 
sqlSelect = "SELECT customerid, misc1 FROM customers";
ad.SelectCommand.CommandText=sqlSelect;
ad.Fill(ds, "Customers");

Open in new window

0
 
Mortaza DoulatyCommented:
You can each time create new commands and set it as the adapter's select command.
or you can simply change the SelectCommand.CommandText of the adapter to your new sql...

Like this:

OdbcConnection conn = new OdbcConnection(connString);    
DataSet ds = new DataSet();
 
sqlSelect = "SELECT ordid, date FROM orders";
OdbcDataAdapter ad = new OdbcDataAdapter(sqlSelect, conn);
ad.Fill(ds, "Orders");
 
sqlSelect = "SELECT customerid, misc1 FROM customers";
ad.SelectCommand.CommandText=sqlSelect;
adx.Fill(ds, "Customers");

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.