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

Вниз

Экспорт данных из базы Interbase в скрипт средствами Delphi   Найти похожие ветки 

 
mvs ©   (2006-03-06 17:43) [0]

Добрый день
Хочу написать небольшую функцию экспорта данных из базы Interbase в скрипт. Пошел вначале самым простым путем
1. Получаю все таблицы
2. Экспортирую данные из очередной таблицы TableName
Сначала
ibq.sql.text := select * from tablename
Потом
ff := false;
Fieldsstr := "";
while not ibq.Eof do begin
ValuesStr := "";
for i := 0 to ibq.FieldCount - 1 do begin
if ibq.Fields[i].FieldKind <> fkData then continue;
// Простейшая функция получения значания поля, а если это блоб, то игнорировать
if not GetFieldValue(ibq.Fields[i],0,ValStr) then continue;
if not ff then begin
if Fieldsstr = "" then Fieldsstr := ibq.Fields[i].FieldName
else Fieldsstr := Fieldsstr + "," + ibq.Fields[i].FieldName;
end;
if Valuesstr = "" then Valuesstr := ValStr
else Valuesstr := Valuesstr + "," + ValStr;
end;
// конец for i
if not ff then begin
Fieldsstr := "insert into " + tablename + " (" + Fieldsstr + ")";
ff := true;
end;
Valuesstr := " values (" + Valuesstr + ")";
OutStr := OutStr + Fieldsstr + Valuesstr + ";" + CRLF;
ibq.Next;
end;
Возвращаю OutStr типа string

ПРОБЛЕМА в том, что на больших таблицах эта функция очень долгая. Наверняка есть возможность все УСКОРИТЬ. Например, в IBExpert"е экспорт идет гораздо быстрее. Очень хочется посмотреть его алгоритм или нечто подобное.


 
Fay ©   (2006-03-06 18:30) [1]

юзай TStringList



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

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

Наверх




Память: 0.47 MB
Время: 0.033 c
3-1141972736
worldmen
2006-03-10 09:38
2006.04.30
SQL-запрос. 4 таблицы.


3-1141905472
Xmen
2006-03-09 14:57
2006.04.30
Запрос к базе.


1-1143001881
Старик
2006-03-22 07:31
2006.04.30
DLL. Ошибка при использовании типа string в ее функциях


15-1144603517
DillerXX
2006-04-09 21:25
2006.04.30
Как называется книга?


2-1144762778
Иван2006
2006-04-11 17:39
2006.04.30
как отловить нажатие клавиши Insert