Without know much more this question can't be answered.
What is definition of "slow"? Do you have metrics comparing this to other systems. How many rows are in the database? How many are being returned? How are your tables structured, etc.
Your code is also very poorly written. You are setting the select statement on the OleDbDataAdapter in the constructor then immediately overwriting it.
It would be better to execute the select statements to get the count separately, no DataAdapter necessary.
You can also use a DataTable, insert or update rows accordingly, then use DataAdapter.Update to execute all the inserts and updates at once rather than calling ExecuteNonQuery each time.
http://msdn.microsoft.com/en-us/library/system.data.common.dataadapter.update.aspx
Calls the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the specified DataSet from a DataTable
If you read the documentation you will see calling ExecuteNonQuery for each update or insert is not necessary.