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

Вниз

DB компоненты   Найти похожие ветки 

 
z007   (2006-02-19 02:21) [0]

Собрался написать (уже даже почти начал) компоненты + контролы для доступа к БД sqlite с Kol под FreePascal  с функциональностью примерно аналогичной или хотя бы схожей с DB-компонентами в Delphi.
В общем, приблизительно понятно, что и как делать, кроме одного:
возможно ли организовать редактирование набора данных, полученных из нескольких таблиц по запросу типа: select name.table1 as [имя], address.table2 as [адрес] from table1, table2 ?

Кто-нибудь может рассказать, как это делается (хотя бы в теории)?


 
Commander   (2006-02-22 14:49) [1]

DataSet.First;
 while not DataSet.EOF do
 begin
   for i := 0 to (Dataset.FieldCount-1) do
   StrList.Add(Dataset.Fields[i].FieldName + "=" + aDataset.Fields[i].AsString);
   DataSet.Next;
 end;

надесь намёк понятен? %-)


 
z007   (2006-02-23 01:56) [2]

>надесь намёк понятен? %-)
Сдаюсь, не понял. Вообще, я просил, если возможно не пример кода, а описание (словами) принципа работы по редактированию запросов из нескольких таблиц.

Таким образом мы вроде бы получаем StrList с содержимым DataSet(Query)  в менее компактной форме?
Нет, все-таки не могу понять, как это позволит редактировать данные, полученные путем запрса сразу к нескольким таблицам - и, главное, сохранять в них изменения. Fields[1] содержит данные из одной таблицы, Fields[2] - из другой, они могут быть выбраны по условию, с каким-нибудь объединением, сортировкой... Неужели для каждой значения каждого поля придется держать в памяти значение ключевого поля (rowid) этой соответствующей строки в таблице БД (иначе к нему, получается, обратиться невозможно)?

И, вот, еще вопрос. Насколько выгодным в плане скорости и затраты ресурсов будет динамическая загрузка содержимого DataSet по мере обращения к нему?
То есть, когда в StrList не грузится все 2000 записей по 2-5 кБ каждая, а только те строки, данные из которых прямо сейчас нужны программе (один-два десятка записей)?



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

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

Наверх




Память: 0.47 MB
Время: 0.037 c
15-1164399477
Некто
2006-11-24 23:17
2006.12.17
Работа с *.xls как с базой данных


15-1164645188
syte_ser78
2006-11-27 19:33
2006.12.17
сервис регистрации ошибочных урлов


15-1164776598
DelphiN!
2006-11-29 08:03
2006.12.17
Как изменить рабочую группу компьютера в локальной сети?


2-1164148382
Евгений Р.
2006-11-22 01:33
2006.12.17
Копирование на FTP


2-1164688018
Syrym
2006-11-28 07:26
2006.12.17
что то связано с распечатко вложенной таблицы