Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.16;
Скачать: CL | DM;

Вниз

ADO+Access   Найти похожие ветки 

 
Vacula ©   (2002-11-27 19:26) [0]

Доброго времени суток!
Проблема следующая. Записываю из файла в массив TStringList данные. Затем через ADO заношу данные в базу Access. Данных - 32000 записи. Второй процесс длится около 8-10 минут. Как ускорить запись данных? Спаисбо, с уважением


 
sniknik ©   (2002-11-27 19:36) [1]

убрать промежуточный TStringList и заносить из файла сразу в Access.


 
Vacula ©   (2002-11-27 19:43) [2]

То есть, сделать какую нибудь промежуточную переменную и ей присваивать необходимые значения и ее подставить в параметры запроса? Но это тоже получается очень медленно. Я прямо из файла...??? Не знаю как, да и нужно делать предварительную обработку данных из файла для формирования соответствующих полей (Дата, Имя, Что и т.д.)... подскажите, что имеется в виду?
Спасибо


 
vacula ©   (2002-11-27 20:38) [3]

Огромная просьба, подскажите... Действительно очень важно. Может я как-то тупо объясняю проблему? Но уже не сплю 30 часов, с этим быстродействием сижу....


 
BlackTiger   (2002-11-27 21:22) [4]

Довольно странно... Ты уверен, что тормоза именно при записи, а не при разборе строк?
В любом случае:
1 Сделай TQuery
2 Преобразуй свой файлик в набор комманд типа (записей так по 1000 на запрос):
while not eof(f) do begin
//
// здесь читаешь и преобразуешь строку файла в массив значений,
// к примеру
//
Query1.SQL.Clear;
Query1.SQL.Add("INSERT INTO MyTable (Field1,Field2,Field3)");
Query1.SQL.Add("VALUES ");
Query1.SQL.Add("(");

//while {...} do begin
Query1.SQL.Add("(""A1"",""27.11.2002"",""50.56""),");
Query1.SQL.Add("(""A2"",""27.11.2002"",""34.00""),");
Query1.SQL.Add("(""A3"",""27.11.2002"",""50.23""),");
Query1.SQL.Add("(""A4"",""27.11.2002"",""12.78"")");
//end;
Query1.SQL.Add(")");
Query1.ExecSQL;
end;

Только вот уточни синтаксис многострочного INSERT-а. Не помню - надо записи разделять запятыми или нет.


 
alcat ©   (2002-11-27 22:38) [5]

Всем Здрасте!!!
BlackTiger, а не мог ли бы ты, пожалуйста, написать поточне синтаксис многострочного INSERTа.
А то от Кафя уже даже спать хочеться.
Хоть скажи где посмотреть.
Заранее благадарен!


 
vacula ©   (2002-11-28 01:21) [6]

2BlackTiger
Спасибо, буду разбираться
2alcat
http://www.citforum.ru/database/sql_kg/4-3-shtmlhttp://www.citforum.ru/database/sql/stsql_9.shtml
посмотри одним глазом, что здесь, но вряд ли это практически поможет... я тоже не могу найти точного описания синтаксиса


 
irenfd ©   (2002-11-28 04:39) [7]

А что если попробовать:
Format("INSERT INTO Table %s...%s и сразу подставлять строки из файла типа Readln(F)), только к сожалению теряется контроль над параметрами (кол-во полей, наличие и корректность)


 
alcat ©   (2002-11-28 15:56) [8]

2vacula Нет такого документа.....



Страницы: 1 вся ветка

Текущий архив: 2002.12.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
3-51655
nick-from
2002-11-26 23:45
2002.12.16
TFIBCustomDataSet.CloseOpen


1-51769
brestmarket
2002-12-04 13:56
2002.12.16
Как MainMenu заставить затенять редко используемые меню?


7-51970
OMPH!!!
2002-10-14 20:16
2002.12.16
Есть ли у нас Сидюк?


1-51699
avsh
2002-12-05 20:44
2002.12.16
TImage


4-52001
Lexa1900
2002-11-03 23:29
2002.12.16
Как получить hwnd активного окна?