Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.042 c
2-1159520325
tyo
2006-09-29 12:58
2006.10.15
запись в базу через DBGrid


3-1155540931
infom
2006-08-14 11:35
2006.10.15
MS Access Запрос с более 255 полями.


1-1157442128
speaker_avi
2006-09-05 11:42
2006.10.15
вопрос о monthcalendar


15-1158908682
Opilki_Inside
2006-09-22 11:04
2006.10.15
Парсер аргументов командной строки


2-1159428661
Sergey_b
2006-09-28 11:31
2006.10.15
MDI окна





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский