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

Вниз

Скорость экспорта данных   Найти похожие ветки 

 
_1008_   (2004-12-29 16:50) [0]

Есть база, в базе записи.
Три таблицы:
Табл1, Табл2, Табл3.
Табл1 и Табл2 связаны связью один ко многим
Табл1 и Табл3 связаны связью один к одному.

Всё что мне необходимо это:
1. Поместить в MS Word "управляющие строки" (некие записи поясняющие к чему относятся данные, которые берутся из таблицы);
2. поместить в MS Word данные из Табл1;
3. ещё "управляющие строки";
4. поместить в MS Word данные из Табл2, которые связаны с данными из Табл1.
5. ещё "управляющие строки";
6. поместить в MS Word данные из Табл3, которые связаны с данными из Табл1.

Не знаю в чём проблема вот и обратился сюда.


 
Max Zyuzin ©   (2004-12-29 16:54) [1]

>_1008_   (29.12.04 16:50)
Гм... Не знаю в чём проблема мы в общем тоже смутно догадываемся в чем у тебя проблема...


 
_1008_   (2004-12-29 17:06) [2]

Max Zyuzin ©  (29.12.04 16:54) [1]

Логично. Но может у кого-нибудь есть идеи, которые натолкнут на правильное решение.


 
Sergey13 ©   (2004-12-29 17:09) [3]

Спросить у препода.


 
Соловьев ©   (2004-12-29 17:16) [4]

телепаты уехали праздновать новый год.
хотя может поможет?
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=502


 
_1008_   (2004-12-29 17:20) [5]

Соловьев ©  (29.12.04 17:16) [4]

Спасибо, но не поможет.

Это экспорт блоб полей. Для обращения использую:
IBDataBase
IBTransaction
IBQuery

Последних несколько:
на таблицу 1
на таблицу 2
на таблицу 3


 
Fay ©   (2004-12-29 18:43) [6]

2 _1008_   (29.12.04 17:20) [5]
> Это экспорт блоб полей. Для обращения использую:
> IBDataBase
> IBTransaction
> IBQuery
>
> Последних несколько:
> на таблицу 1
> на таблицу 2
> на таблицу 3

Не возражаю. Проблема снята?


 
_1008_   (2004-12-30 09:47) [7]

Fay ©  (29.12.04 18:43) [6]

Нет, не снята. А продолжает здравствовать и крайне раздражать.

Понимаю, что что-то надо поменять, но не понимаю, что именно.
Подозреваю, что дело либо в базе, либо в том как я к ней обращаюсь. Но никаких идей нет.


 
Danilka ©   (2004-12-30 09:50) [8]

[7] _1008_   (30.12.04 09:47)
А в чем именно проблема, если не секрет? :)


 
_1008_   (2004-12-30 10:10) [9]

Danilka ©  (30.12.04 09:50) [8]

Да так мелочи: формирование документа длиться всего-то полчаса.
Задача поместить из базы набор текста из блобов.


 
_1008_   (2004-12-30 10:10) [10]

Danilka ©  (30.12.04 09:50) [8]

Да так мелочи: формирование документа длиться всего-то полчаса.
Задача поместить из базы набор текста из блобов. На 20-30 записях это длится 2-3 минуты, на 126 полчаса.


 
Danilka ©   (2004-12-30 10:36) [11]

[10] _1008_   (30.12.04 10:10)
Те-же данные выбрать на клиента, сколько времени занимает? Например, просто все скинуть в текстовый файл.
Если быстро - значит дело в ворде, тогда, как вариатн, самому создавать напрямую rtf-файл, без ОЛЕ, наверняка есть и компоненты бесплатные для этого, да и формат rtf не такой уж и сложный.
Если также долго - значит дело в запосах, которыми данные вытаскиваешь и/или в самой базе (индексов где не хватает, например).


 
Max Zyuzin ©   (2004-12-30 10:46) [12]

>_1008_   (30.12.04 10:10) [10]
Большой ли документ получается? Много ли данных туда пихается...
В догонку к совету Danilka ©   (30.12.04 10:36) [11] в RichEdit все запихивай он может сохранять в RTF


 
_1008_   (2004-12-30 11:28) [13]

Danilka ©  (30.12.04 10:36) [11]

Я работаю с базой локально. Удалённая работа, где есть идёт быстро (показ информации).
Я использую табличное представление, а можно ли его показать в rtf-е?

Max Zyuzin ©  (30.12.04 10:46) [12]

Около ста страниц, размер 800-900 кБ около 1 МБ


 
Danilka ©   (2004-12-30 11:41) [14]

[13] _1008_   (30.12.04 11:28)
То-есть, та-же самая информация, но в гриде, а не в rtf-е отображается быстро?

> можно ли его показать в rtf-е?

Можно, кроме использования ворда через оле, я уже привел 2 варианта, третий вариант в [12].


 
_1008_   (2004-12-30 12:03) [15]

Danilka ©  (30.12.04 11:41) [14]

Данные в базе (в блобе) могут содержать олеобъекты (хорошая вещь RxRichEdit);

Я отображаю данные в RxRichEdit. При локальной работе это происходит довольно шустро (показать одну главную запись и десять связанных с ней занимает заметный промежуток времени, но довольно маленький). При работе по сети раз от раза по разному:
с машиной, которая стоит рядом я связываюсь долго;
с машиной которая стоит двумя этажами выше я связываюсь быстро;


 
Max Zyuzin ©   (2004-12-30 12:13) [16]

>_1008_   (30.12.04 12:03) [15]
Таакк.. тебе нужно с админами пообщаться, может с сетевыми картами проблемма, хотя даже на 10 Мб 1 Мб будет ООооочень быстро передаваться. Вообще как сеть работает на машине "медленной"?
А вообще у тебя я так понимаю сервер FireBird живет на куче машин что ли?


 
_1008_   (2004-12-30 12:49) [17]

Max Zyuzin ©  (30.12.04 12:13) [16]

Машина с которой медленный коннект на ней винду последний раз года три или четыре назад ставили, там наверняка такой бедлам и фрагментация, что ужас.

Но вопрос не в том, вопрос в том, что моя машина, за которой я сижу формирует мой документ полчаса. Причём активность винчестера почти ноль.


 
Max Zyuzin ©   (2004-12-30 12:54) [18]

>_1008_   (30.12.04 12:49) [17]
Показывай как формируешь документ...
"телепаты уехали праздновать новый год" Соловьев ©
:) Код в общем покажи....


 
msguns ©   (2004-12-30 13:00) [19]

1. Каким образом выкидываешь инфу в ворд ?
2. Не проще ли кидать в ексель с помощью "региональных" присвоений, а уж из него в ворд ?
3. Почему нельзя изначально хранить в БД не мемо, а собственно формат .doc ?


 
msguns ©   (2004-12-30 13:00) [20]

1. Каким образом выкидываешь инфу в ворд ?
2. Не проще ли кидать в ексель с помощью "региональных" присвоений, а уж из него в ворд ?
3. Почему нельзя изначально хранить в БД не мемо, а собственно формат .doc ?


 
Sancho ©   (2004-12-30 13:25) [21]

А у тебя на машине не XP стоит.


 
Sancho ©   (2004-12-30 13:26) [22]

Знак вопроса забыл, дубль два :-))
А у тебя на машине не XP стоит ?


 
_1008_   (2004-12-30 13:51) [23]

Max Zyuzin ©  (30.12.04 12:54) [18]
msguns ©  (30.12.04 13:00) [20]

Кода много. (распечатка занимает 8 страниц).


 
_1008_   (2004-12-30 13:52) [24]

Sancho ©  (30.12.04 13:25) [21]

У меня 98-я, на ХР та же мулька.


 
Max Zyuzin ©   (2004-12-30 14:03) [25]

>_1008_   (30.12.04 13:51) [23]
Что и все 8 страниц идут на то что бы в ворд вывести документ?


 
_1008_   (2004-12-30 14:15) [26]

Max Zyuzin ©  (30.12.04 14:03) [25]

Простой текст помещаю так:
inc(k);
newStr:="Запис №"+inttostr(k)+":";
WD.Tables.Item(WD.Tables.Count).Rows.Add(EmptyParam);
WD.Tables.Item(WD.Tables.Count).Cell(WD.Tables.Item(WD.Tables.Count).Rows.Count,1).Range.InsertAfter(newStr);
WD.Tables.Item(WD.Tables.Count).Cell(WD.Tables.Item(WD.Tables.Count).Rows.Count,1).Range.Bold:=1;
WD.Tables.Item(WD.Tables.Count).Cell(WD.Tables.Item(WD.Tables.Count).Rows.Count,1).Range.Font.Size:=14;


Блобы переношу в два захода (я тут уже спрашивал - иного решения никто не предложил):
Stream:=QuestQuery.CreateBlobStream(QuestQuery.FieldByName("QUESTION"), bmRead);
JRE.Lines.Clear;
JRE.Lines.LoadFromStream(Stream);
Stream.Free;
//-----------------------------------------//
JRE.SelectAll;
JRE.CopyToClipboard;
WD.Tables.Item(WD.Tables.Count).Rows.Add(EmptyParam);
WD.Tables.Item(WD.Tables.Count).Cell(WD.Tables.Item(WD.Tables.Count).Rows.Count,1).Range.Paste;


JRE - JvxRichEdit,
Stream - поток

Всё это делается в цикле по количеству записей в главной таблице.
Внутренний цикл с похожим кодом помещает подчинённые записи.


 
Sancho ©   (2004-12-30 14:16) [27]

_1008_   (30.12.04 13:52) [24]
Вот на XP можно попробовать отключить воостановление системы на том диске где файлы БД лежат, в смысле gdb. Я где-то читал, что в винде файлы с этим расширением системными считаются, т.е. при их изменении делается бэкап (только в WinXP).


 
Max Zyuzin ©   (2004-12-30 14:26) [28]

>_1008_   (30.12.04 14:15) [26]
А в блобе что живет? Не текст случаем?


 
_1008_   (2004-12-30 14:51) [29]

Max Zyuzin ©  (30.12.04 14:26) [28]

Назовём это композитными данными:
- текст;
- графика;
- формулы;
- что ещё в Word воткнуть штатными средствами можно.


 
Max Zyuzin ©   (2004-12-30 14:54) [30]

>_1008_   (30.12.04 14:51) [29]
Хотелось бы посмотреть как ты в это поле заносишь данные? так эе через клипбоард?


 
_1008_   (2004-12-30 15:09) [31]

Max Zyuzin ©  (30.12.04 14:54) [30]

InsertOleObject :) кажись так пишется. В диалоге выбирается тип объекта (коих в Windows не мало) и вперёд и с песнями.


 
Max Zyuzin ©   (2004-12-31 12:19) [32]

>_1008_   (30.12.04 15:09) [31]
Нужно покавырятся, а сейчас совсем не в состоянии... после праздников, ок? С НГ тебя


 
YurikGL ©   (2005-01-01 10:09) [33]

http://www.delphimaster.ru/articles/dbtoword/index.html


 
_1008_   (2005-01-04 09:54) [34]

YurikGL ©  (01.01.05 10:09) [33]

Спасибо, попробую разобраться.



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

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

Наверх




Память: 0.55 MB
Время: 0.075 c
1-1106232953
Eraser
2005-01-20 17:55
2005.02.06
Baloon Hint в трее + win 98


14-1105874676
Чеширский_Кот
2005-01-16 14:24
2005.02.06
TV-программу больше не покупаю!


1-1106306254
Su-+
2005-01-21 14:17
2005.02.06
Щрифты


4-1103187490
Павел
2004-12-16 11:58
2005.02.06
WinAPI и IR устройства. Справочник бы...


1-1106226083
WhiteGuy
2005-01-20 16:01
2005.02.06
Уменьшение размера