![]() |
|
|
![]()
|
|
| igorz89 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 7.11.2008 Репутация: нет Всего: нет |
Допустим, у нас на форме отображена таблица (sql) с использованием DBGrid (ключевые поля не выведены). Можно в Дельфи получить значение ключевого поля, просто выделив любую ячейку, не используя запрсы SQL?
|
|||
|
||||
| vovk |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 28.2.2008 Репутация: 6 Всего: 6 |
Если поля есть в датасете (какой там у вас не знаю TQuery, TIBQuey, Tdataset в общем не важно) , а в гриде просто скрыты то конечно да. Если же вы не запрашивали данные по этим полям то нет. Хотя если написать допустим хранимую процедуру которая вернёт вам эти данные.... А вообще без обращения к базе никак..
Это сообщение отредактировал(а) vovk - 5.5.2009, 15:22 |
|||
|
||||
| insoft |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 14.2.2007 Где: Тюменская область , г.Тобольск Репутация: 3 Всего: 3 |
как ты отображаешь НД в гриде? через TTable или через TQuery? |
|||
|
||||
| igorz89 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 7.11.2008 Репутация: нет Всего: нет |
У меня 3 компонента: query1, datasource1 и dbgrid1. Сам запрос находится в query1, у datasource1 в свойстве dataset указан этот самый query1, а у dbgrid1 в свойстве datasource указан datasource1.
Вот, допустим, таблица "sotrudniki", в ней 2 поля: id(первичный ключ) и name: id name 1 Вася 2 Федя 3 Паша 4 Саша Я пишу запрос select name from sotrudniki, мне все выводит как надо без id. Теперь я выделяю, допустим имя Паша, и хочу узнать его id, но при этом не используя запроса типа select id from sotrudniki where name='Паша'. Вот собственно в этом вопрос. Это сообщение отредактировал(а) igorz89 - 5.5.2009, 15:42 |
|||
|
||||
| vovk |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 28.2.2008 Репутация: 6 Всего: 6 |
Особо не напрягайтесь если в запросе не указывали поле ID то и данных соответственно нет.
|
|||
|
||||
| igorz89 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 7.11.2008 Репутация: нет Всего: нет |
Так, а если в самом запросе сделать выборку всех полей, но при этом в DBgrid выводить опять же только имя, то тогда как можно получить соответсвующий id выделенному полю?
|
|||
|
||||
| vovk |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 28.2.2008 Репутация: 6 Всего: 6 |
Если данные в датасете есть, то так как сказал
insoft, в 3 посте самое оно, то есть для вас будет выглядет так
Так на всякий. Мы получим значение поля ID текущей записи Query1. Это сообщение отредактировал(а) vovk - 5.5.2009, 16:01 |
|||
|
||||
| igorz89 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 7.11.2008 Репутация: нет Всего: нет |
vovk,
insoft, спасибо вам за помощь! |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |