Основная задача:
перекинуть все записи из файла Excel в SQL БД на сервере.
Структура таблицы в SQL совпадает с листом файла в плане количества и формата колонок.
Создал два ADOConnection:
ADOConnection_SQL нацелен на SQL
ADOConnection_Excel нацелен к файлу Excel
С помощью ADODataSet_Excel получаю все данные из файла:
ADODataSet_Excel.CommandText :=
'select *'+
' from [List1$]'#10;
ADODataSet_Excel.Open;
А вот как их ВСЕ СРАЗУ загнать в SQL?
Пока только мысли
ADOQuery_SQL.Connection := ADOConnection_SQL;
ADOQuery_SQL.SQL.Clear;
ADOQuery_SQL.SQL.Add('INSERT INTO SQL_tbl');
ADOQuery_SQL.SQL.Add('SELECT * FROM ??? ADODataSet_Excel.RecordSet ???...
ADOQuery_SQL.ExecSQL;
Как в запросе на INSERT использовать занные из запроса по ADODataSet_Excel, т.е. чтобы одним запросом выполнить всю работу?
Конечно существует вариант пройтись в цикле по ADODataSet_Excel.RecordSet, распарсить по полям/переменным и делать INSERT по одной строке. Но подозреваю, что есть более правильное решение - все сделать одним махом. Как?