|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.07.2010, 18:40 | #1 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
SQL-выборка!
Помогите пожалуйста!
Имеется таблица "Осужденные" в которой надо выбрать записи по полю "работа". Раньше делал по индексу (счетчику), но если записи удалялись и добавлялись новые, то индекс теряет правильный порядок (1,2,3,5,7 и т.д.). Было так: mainform.FindQuery.sql.add('select* from Осужденные WHERE работа LIKE '''+mesto+'''') где mesto - это номер индекса, но мне надо сделать выборку по самому месту работы (т.е. например "больница"), причем само место работы присваивается переменной (mestol). Соответствующий запрос: mainform.FindQuery.sql.add('select* from Осужденные WHERE работа LIKE mestol') не работает, подскажите как быть.
Никогда не знаешь, где тебе повезет... (Фрай)
|
21.07.2010, 18:59 | #2 |
Форумчанин
Регистрация: 13.07.2010
Сообщений: 346
|
причем тут вообще ключевое поле????
так че делает? select* from Осужденные WHERE работа = :mestol FindQuery.ParamByName('mestol').AsS tring := 'супер_место работы'; FindQuery.Open();
Non est culpa vin, sed culpa bibentis
|
21.07.2010, 19:00 | #3 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
Забыл написать, что в таблице "Осужденные" в поле "работа" идет связь на таблицу "Работа" по ключевому полю (((( поэтому такие косяки
Никогда не знаешь, где тебе повезет... (Фрай)
|
21.07.2010, 19:05 | #4 | |
Форумчанин
Регистрация: 13.07.2010
Сообщений: 346
|
Цитата:
взять из справочника код работы и использовать его для поиска?
Non est culpa vin, sed culpa bibentis
|
|
21.07.2010, 19:11 | #5 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
Вот с этого места, если можно, поподробнее... Как взять из справочника код работы?
Никогда не знаешь, где тебе повезет... (Фрай)
|
21.07.2010, 19:15 | #6 | |
Форумчанин
Регистрация: 13.07.2010
Сообщений: 346
|
Цитата:
давайте структуру таблиц, там видно будет
Non est culpa vin, sed culpa bibentis
|
|
21.07.2010, 19:15 | #7 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
Есть вариант другой: как зная значение поля "работа" в таблице "Работа" получить значение счетчика соответствующее этой записи?
Никогда не знаешь, где тебе повезет... (Фрай)
|
21.07.2010, 19:16 | #8 |
Форумчанин
Регистрация: 13.07.2010
Сообщений: 346
|
а как вообще определяется имя работы?
Non est culpa vin, sed culpa bibentis
|
21.07.2010, 19:17 | #9 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
т.е. структура таблицы "работа" такова:
key работа 1 УПУ-1 2 УПУ-2 4 ХлебЗавод 5 ХО 6 УФСИН 7 Подсобка 8 Хаёв 9 ЭМГ 10 Столовая 12 Больницы 13 КАР 14 Карантин Если мне известно например "Больницы", то как узнать (можно даже по Showmessage) значение Key (это счетчик) в этой записи?
Никогда не знаешь, где тебе повезет... (Фрай)
|
21.07.2010, 19:21 | #10 | |
Форумчанин
Регистрация: 13.07.2010
Сообщений: 346
|
Цитата:
kod : integer; TableRabota или kod:= QueryRabota.FieldByName('key').AsIn teger; QuerySelect.SQL.Text :='select* from Осужденные WHERE key_работа = :super_kod FindQuery.ParamByName('super_kod'). AsInteger := kod; FindQuery.Open()
Non est culpa vin, sed culpa bibentis
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выборка выборка с таблицы с отношением многие-ко-многим | 8alig8 | БД в Delphi | 2 | 24.06.2010 12:21 |
ADOQuery + SQL-выборка по дате!!! | $T@LKER | БД в Delphi | 14 | 19.04.2010 11:34 |
Удаление строки с помощью SQL запроса (Query1.SQL.ADD('Delete....')) | Schutze | Помощь студентам | 6 | 29.11.2009 22:15 |
Выборка информации из 2 таблиц (SQL) | frai | БД в Delphi | 10 | 10.11.2007 17:38 |