Например, в БД есть таблица Клиенты:
Client_Id, Client_Name, Client_FathersName, Client_FamilyName. Делается выборка по ней и заполняется грид.
Решение #1(не работающее из-за запрета на чтение скрытых полей):Есть StringGrid с полями:
Client_Id(СКРЫТОЕ), Client_FullName(конкатенация соответствующих колонок из таблицы)
При нажатии на кнопку "Добавить заказ" из StringGrid берется Id клиента, по нему формируется запрос на добавление заказа.
Решение #2(предложенное здесь):Есть StringGrid с полем:
Client_FullName
Есть динамический массив с полем:
Client_Id
При нажатии на кнопку "Добавить заказ" из StringGrid берется номер строки, по ней из массива берется Id клиента, по нему формируется запрос на добавление заказа.
Решение #3(запросы на каждый чих):Есть StringGrid с полем:
Client_FullName
При нажатии на кнопку "Добавить заказ" из StringGrid берется Client_FullName, делается запрос в БД, чтобы найти клиента с таким именем и узнать его Id, после чего по Id формируется запрос на добавление заказа.
ВыводПросто для ясности. Лучше всего Решение №1, немного хуже №2, №3 с запросами на каждый чих проигрывает другим во всем. Остановлюсь на №2. Насколько я понимаю, ничего лучше не найду.
Выборки-то он как я понял использует, не использует только дбгриды с соурсами.
Да. Там где есть смысл их использовать, выборки есть.