title: Preserving MS Access Row Order when using DataAdapter.Fill in C#
body: <p>Here's a tricky one... I noticed in a query for my code that when I used the .NET DataAdapter.Fill method as shown below to query an Access database, the order of the records was not the "natural" order of the records (as they were originally inserted into the table).</p>
  
  <pre><code>OleDbDataAdapter oleDbAdapter = new OleDbDataAdapter("SELECT * FROM SomeTable ", oleDbConnection);
  oleDbAdapter.Fill(sourceData, "SomeTable" );
  foreach(DataRow theRow in sourceData.Tables["SomeTable"].Rows)
  { ... }
  </code></pre>
  
  <p>On one table, I had a primary key so I was just able to order by the primary key.  I have a new table which does not have any primary key and I would like to query the table and have the records ordered by the natural table order.  Should I be using a OleDbDataReader to preserve the order, or is there some way to make the OleDbDataAdapter.Fill method to preserve order?</p>