da.InsertCommand.Connection.Open();
da.InsertCommand.ExecuteNonQuery();
da.InsertCommand.Connection.Close();
اون دستور Connection.Open فکر میکنم بیشتر از 10 میلیون CPU Cycle باشه.و در ضمن ایراد کدتون هم همینه.
باید connection رو قبل از حلقه باز کنید. و بعد از انو ببندید.
و پارامتر ها رو هم یک بار ایجاد کنید و در دفعات بعد فقط مقدار بدید.