Вы создаете, открываете и закрываете OleDbConnection
внутри вашего (вложенного) цикла, что дорого.
Попробуйте сделать следующее вне внешнего цикла:
OleDbConnection con77 = new OleDbConnection ..
OleDbCommand com77 = new OleDbCommand();
com77.Connection = con77;
con77.Open();
..
con77.Close();
OleDbConnection con6 = new OleDbConnection ..
OleDbCommand com6 = new OleDbCommand();
com6.Connection = con6;
con6.Open();
..
con6.Close();
Кроме того, если оба соединения одинаковы, вам нужно создать только одно.
Не уверен, что делает FlushMemory()
, но это также может быть дорого, и может быть лучше вызывать эту функцию после основного цикла,или не совсем.