Форум: "KOL";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "KOL";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c