Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
ВнизТаблицы db, dbf Найти похожие ветки
← →
Прохожев М (2006-09-28 10:20) [0]Добрый день! Подскажите пожалуйста как получить все поля таблицы ?
Пример: в таблице (tblBase) есть 4 поля (Fio,Tel,adress,id)
мне необходимо получить все 4 поля и присвоить их к переменным.
...Заранее Благодарю.
← →
Elen © (2006-09-28 10:28) [1]
> Прохожев М
получать
var:=Table1.FieldByName("FIO").As...
var:=Table1.FieldByName("Tel").As...
var:=Table1.FieldByName("Adres").As...
var:=Table1.FieldByName("Id").As...
передавать
Table1.FieldByName("FIO").As...:=var
Table1.FieldByName("Tel").As...:=var
Table1.FieldByName("Adres").As...:=var
Тable1.FieldByName("Id").As...:=var
← →
Прохожев М (2006-09-28 10:30) [2]Это я знаю, мне просто нужно получить поля а не значения. Таблица может быть любой и полей может быть сколько угодно. В данном случае мы знаем что в таблице 4 поля и знаем имена полей. А мне нужно сделать то же самое с незнакомой таблицей.
← →
Elen © (2006-09-28 10:33) [3]
> Прохожев М
Table1.Fields.Fields... - тебе в помошь, добрый человек. Там есть и количество и номер и имя полей
← →
ЮЮ © (2006-09-28 10:34) [4]
> А мне нужно сделать то же самое с незнакомой таблицей.
>
а как же тогда запасешься необходимым количество переменных нужного типа?
TDataSet.Fields[Index] - это уже и есть "массив" значений полей текущей записи набора данных. Зачем ещё какие-то перемнные и зачем туда чего-то засовывать???
← →
Прохожев М (2006-09-28 10:36) [5]Подскажите как переобразовать TField в String ?
← →
clickmaker © (2006-09-28 10:39) [6]
> [5] Прохожев М (28.09.06 10:36)
это еще зачем? имя нужно? так это Fields[i].FieldName
← →
Прохожев М (2006-09-28 10:41) [7]Всем спасибо, вы мне очень помогли и извините за тупые вопросы.
← →
Прохожев М (2006-09-28 10:50) [8]Мастера, еще один вопрос по таблицам.
Можно ли отфильтравать таблицу несколько раз и не отменять предыдущие фильтрации?
← →
clickmaker © (2006-09-28 10:51) [9]Table.Filter := Table.Filter + " and ... ";
← →
Прохожев М (2006-09-28 10:58) [10]2 clickmaker
Спасибо большое!
← →
MsGuns © (2006-09-28 13:47) [11]>Прохожев М (28.09.06 10:30) [2]
>Это я знаю, мне просто нужно получить поля а не значения. Таблица может быть любой и полей может быть сколько угодно. В данном случае мы знаем что в таблице 4 поля и знаем имена полей. А мне нужно сделать то же самое с незнакомой таблицей
Есть два принципиально разных подхода:
1.
- "Попросить" у самой таблицы, используя простейший запрос типа
Select * from table where 1<>1, "завернутую" в любую "датасетную" обертку (TQuery, TADOQuery, TADODataSet...),
- полученную в результате коллекции TDataSet.Fields/TDataSet.FieldDefs
использовать в нужных целях
2.
"Попросить" у "хозяина" таблицы, не беспокоя собственно таблицу: для локальных БД "хозяином" выступает "концентратор" обмена данными типа TDataBase(BDE), TADOConnection(ADO), TIBConnection(IBX)..., для серверных - запросы к метаданным (для разных серверов и поддерживаемых ими стандартов SQL синтаксис разный)
>clickmaker © (28.09.06 10:51) [9]
>Table.Filter := Table.Filter + " and ... ";
Так делать не надо ни в коем случае.
← →
ASoft (2006-09-29 06:30) [12]
> >Table.Filter := Table.Filter + " and ... ";
>
> Так делать не надо ни в коем случае.
>
ну, наверное, просто фильтрация по составному условию, без Table.Filter +?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c