Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2010, 19:22   #11
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

ну а в
ShowMessage(QueryRabota.FieldByName ('key').AsString);
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 21.07.2010, 19:24   #12
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Наверное, я не правильно выразился... мне надо имея на руках только слово "больницы" узнать его номер (в данном случае это - 12)?
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 21.07.2010, 19:28   #13
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

Цитата:
Сообщение от DIgorevich Посмотреть сообщение
Наверное, я не правильно выразился... мне надо имея на руках только слово "больницы" узнать его номер (в данном случае это - 12)?
я спросил "а как вообще определяется имя работы?"
если вводится с клавиатуры - то это плохая практика

люди любят часто вводить слово "бальница"....
результат очевиден...

QuerySelect.SQL.Text :='select key from работа where upper(работа.работа) = upper(''бальница'')';
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 21.07.2010, 19:29   #14
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Можно упростить вопрос. Имеем таблицу "РАБОТА" в ней два поля: 1 - Key (счетчик) 2 - работа. Как зная значение второго поля узнать соответствующее значение первого поля?
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 21.07.2010, 19:30   #15
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от Korben5E Посмотреть сообщение
я спросил "а как вообще определяется имя работы?"
если вводится с клавиатуры - то это плохая практика

люди любят часто вводить слово "бальница"....
результат очевиден...

QuerySelect.SQL.Text :='select key from работа where upper(работа.работа) = upper(''бальница'')';
Поле определяется путем выбора из DBCombobox'a
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 21.07.2010, 19:31   #16
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

Цитата:
Сообщение от DIgorevich Посмотреть сообщение
Поле определяется путем выбора из DBCombobox'a
DBCombobox связан с таблицей !

из нее код и читайте как описал раньше
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 21.07.2010, 19:33   #17
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Значит придется расписать поподробнее.... минутку
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 21.07.2010, 19:40   #18
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Имеется таблица "Работа" (описание я уже делал), и имеется таблица "Осужденные" в которой поле "работа" имеет числовой тип и ссылается на таблицу "Работа" по ключевому полю....
Мне надо сделать выборку по "Работе". Список мест работы получаю путем создания компонент:

Код:
Var
  a: array [1..30] of TCheckbox; 
  i: integer;
begin
i:=1;
  with mainform.ADOTable5 do //получаю записи в таблице "Работа"
  begin
    open;
    first;
    while not EOF do
    begin
        a[i]:=TCheckbox.create(self);
        a[i].parent:=form7;
        a[i].left:=10;
        a[i].Caption:=mainform.ADOTable5.FieldByName('работа').AsString;
        a[i].top:=i*20;
        a[i].Name:='Checkbox'+inttostr(i);
      inc(i);
      next;
    end;
  end;
end;
И дальше делаю выборку по нажатию кнопки, проверяя какой Чекбокс отмечен. Так вот. Суть вопроса: как узнать значение поля "Key" в таблице "Работа", соответствующее отмеченному Чекбоксу?
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 21.07.2010, 19:46   #19
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Извиняюсь! Дико! Вопрос снимается. Я при создании компонентов добавил строку

a[i].tag:=mainform.ADOTable5.FieldByNam e('key').AsInteger;

И теперь просто имею дело со значением поля key

Но Korben5E, Вам все равно огромное спасибо за участие
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 21.07.2010, 19:54   #20
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

Цитата:
Сообщение от DIgorevich Посмотреть сообщение
Код:
Var
  a: array [1..30] of TCheckbox; 
  i: integer;
begin
i:=1;
  with mainform.ADOTable5 do //получаю записи в таблице "Работа"
  begin
    open;
    first;
    while not EOF do
    begin
        a[i]:=TCheckbox.create(self);
        a[i].parent:=form7;
        a[i].left:=10;
        a[i].Caption:=mainform.ADOTable5.FieldByName('работа').AsString;
        a[i].top:=i*20;
        a[i].Name:='Checkbox'+inttostr(i);
      inc(i);
      next;
    end;
  end;
end;
Но я все равно отпишусь first - лишний!
потому как после открытия и так first

а если отметять все чекбоксы???? ниче???
не проще в существующий комбобокс все загнать???
и заставить выбирать из списка?
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборка выборка с таблицы с отношением многие-ко-многим 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