Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Получение значения поля по ключу


Автор: santilaas 6.5.2007, 18:25
Привет всем:
есть массив записей (со столбцами: field1, field2 и т.д.)
в field1 содержатся числа, соответствующие значениям первичного ключа в таблице "Table1".
Вопрос: как пробежаться по массиву и вывести из него построчно все данные в поле Memo, притом, чтобы вместо 
чисел-первичных ключей выводилось значение другого поля таблицы "Table1"?
Другими словами, как, зная значения первичного ключа таблицы, без лишних запросов к БД получить значения соответствующих ему других полей записи?
т.е., как заменить этот код?:
Код

for i:=0 to Length(Massiv)-1 do
   Memo1.Lines.Add(IntToStr(Massiv[i].field1) + ' | ' + IntToStr(Massiv[i].field2));


Заранее благодарен! 

Автор: Rodman 7.5.2007, 08:44
Цитата(santilaas @  6.5.2007,  17:25 Найти цитируемый пост)
без лишних запросов к БД

ого...

Зачем тогда БД...

Что то не очень понятен вопрос...

Автор: santilaas 13.5.2007, 12:21
нет, запросы конечно будут, но как оптимальнее всего их выполнить. 
Вопрос как бы в том, есть ли возможность (с помощью какой-нить функции) зная значение ключа
записи, получить значение какого-нить другого поля записи, т.е. по сути вопрос такой: если ли такая функция скажем с двумя параметрами: 1 - ключ записи, 2 - номер поля датасета, значение которого надо вывести
или такую функцию надо писать самому?


Автор: SergeBS 14.5.2007, 07:59
santilaas, 
Цитата
нет, запросы конечно будут, но как оптимальнее всего их выполнить. 

Элементарно. Для начала - прочитать правила: Какая СУБД? Какой доступ?

Автор: kobra 14.5.2007, 10:32
Цитата(santilaas @  13.5.2007,  12:21 Найти цитируемый пост)
 если ли такая функция скажем с двумя параметрами: 1 - ключ записи, 2 - номер поля датасета, значение которого надо вывестиили такую функцию надо писать самому?

Lookup

Автор: Akella 14.5.2007, 11:14
Цитата(santilaas @  6.5.2007,  18:25 Найти цитируемый пост)
т.е., как заменить этот код?:

заменить на что?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)