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

Вниз

Таблицы 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.075 c
15-1159177256
Тыгыдым
2006-09-25 13:40
2006.10.15
Cached Updates


15-1158905403
parasolka
2006-09-22 10:10
2006.10.15
jar архивы.


2-1159682879
одиндватри
2006-10-01 10:07
2006.10.15
операторные скобки


15-1158860149
Palladin
2006-09-21 21:35
2006.10.15
Опрос: Великий стеб


5-1141105299
MiHoY
2006-02-28 08:41
2006.10.15
idDecoderMIME