Главная страница
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.031 c
15-1164793452
skiner
2006-11-29 12:44
2006.12.17
Конфликт с Антивирусом


15-1164552740
ShellX
2006-11-26 17:52
2006.12.17
Интересная задачка


2-1164798671
nali
2006-11-29 14:11
2006.12.17
Как спрятать форму при запуске программы?


15-1164370103
psa247
2006-11-24 15:08
2006.12.17
Отображение кириллицы в DOS


6-1153812560
Kacnep
2006-07-25 11:29
2006.12.17
Динамическая привязка OnConnect в КОНСОЛЬНОМ приложении