Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос 
:(
    Опции темы
Lola8669
Дата 6.2.2009, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 24.1.2009

Репутация: нет
Всего: нет



Подскажите, пожалуйста, где писать запрос и примерно как он будет выглядеть, чтобы, когда открываешь прогу на Delphi, первой появлялась форма (скриншот прикреплён), в которой в Edit'ы добавлялись соответствующие поля (пароль, логин). Это нужно хранимой процедурой сделать, ну или хотя бы обычным запросом. Часть базы данных тоже в скриншоте. 

Присоединённый файл ( Кол-во скачиваний: 25 )
Присоединённый файл  ____________.jpg 86,62 Kb
PM MAIL ICQ Skype   Вверх
Rodman
Дата 6.2.2009, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 1
Всего: 122



ты не знаешь как залогиниться? или как форму сделать?
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Lola8669
Дата 6.2.2009, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 24.1.2009

Репутация: нет
Всего: нет



Цитата(Rodman @ 6.2.2009,  14:25)
ты не знаешь как залогиниться? или как форму сделать?

Форма есть, я не знаю как связать логин и пароль в базе с этой формой через запрос (хранимая процедура), чтобы пользователи могли вводить свои логин и пароль и пользоваться БД.
PM MAIL ICQ Skype   Вверх
Данкинг
Дата 6.2.2009, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Зачем запрос-то? Обычный dataset.locate поможет...  smile А запрос писать в TQuery!


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akella
Дата 6.2.2009, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 8
Всего: 329



я ж тебе уже давал полное описание с примером  smile 
PM MAIL   Вверх
Kbl4AH
Дата 6.2.2009, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



Код

// =============================================================================
// авторизация пользователя
// =============================================================================
procedure Logon;
begin
  with DM do
  begin    
    // установка значений переменных
    OracleQuery1.SetVariable('Login', FLogon.LabeledEdit1.Text);
    OracleQuery1.SetVariable('Password', FLogon.LabeledEdit2.Text);
    // выполнение запроса
    OracleQuery1.Execute;
    // если запрос ничего не вернул, то авторизация не пройдена
    if OracleQuery1.Eof then
      // выдать ошибку
      Application.MessageBox('Неверные имя пользователя или пароль', 'Ошибка!')
    // иначе - авторизация пройдена
    else
      begin
        // удалить переменные
        OracleQuery1.DeleteVariables;
        // закрыть запрос
        OracleQuery1.Close;
        // показать главную форму
        FMain.Show;
        // уничтожить форму авторизации
        FLogon.Free;
      end;
  end;     
end;

// =============================================================================
// нажатие кнопки "Принять"
// =============================================================================
procedure TFLogon.Button1Click(Sender: TObject);
begin
  // авторизация пользователя
  Logon;
end;

// =============================================================================
// создание формы
// =============================================================================
procedure TFLogon.FormCreate(Sender: TObject);
begin
  // описание переменных
  OracleQuery1.DeclareVariable('Login', otString);
  OracleQuery1.DeclareVariable('Password', otString);
  // текст запроса
  OracleQuery1.SQL.Text := 'SELECT login FROM wha_logon WHERE ' +
                                            'login = :Login AND password = :Password';
end;



Это сообщение отредактировал(а) Kbl4AH - 6.2.2009, 22:42
PM MAIL ICQ   Вверх
Bose
Дата 7.2.2009, 03:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 8
Всего: 51



Цитата(Lola8669 @  6.2.2009,  13:16 Найти цитируемый пост)
Подскажите, пожалуйста, где писать запрос и примерно как он будет выглядеть, чтобы, когда открываешь прогу на Delphi, первой появлялась форма (скриншот прикреплён), в которой в Edit'ы добавлялись соответствующие поля (пароль, логин). Это нужно хранимой процедурой сделать, ну или хотя бы обычным запросом. Часть базы данных тоже в скриншоте.  


Kbl4AH, lol  smile 
Код для подключения к Ораклу для девочки которой нужно чтобы хранимая процедура из Firebird/Interbase вызвала форму Логина в Delphi. Ребят вы жжёте! smile  
сорри за оффтоп


Lola8669, ты к базе умеешь подключаться? 
Lola8669, зачем тебе запрос(хранимая процедура)?
Lola8669, ты знаешь, что такое хранимая процедура?
PM MAIL WWW Skype   Вверх
Kbl4AH
Дата 7.2.2009, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



 smile 
да вот не пофик, пусть OracleQuery на свой Query заменит... какая разница-то?

Это сообщение отредактировал(а) Kbl4AH - 7.2.2009, 11:55
PM MAIL ICQ   Вверх
Lola8669
Дата 7.2.2009, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 24.1.2009

Репутация: нет
Всего: нет



Воse, я к базе подключилась! Хранимой процедурой, чтобы обеспечить безопасность!
Я не в Oracle делаю.

Это сообщение отредактировал(а) Lola8669 - 7.2.2009, 17:45
PM MAIL ICQ Skype   Вверх
Kbl4AH
Дата 7.2.2009, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



Цитата(Lola8669 @  7.2.2009,  15:30 Найти цитируемый пост)
Я не в Oracle делаю.

Я знаю smile 
Цитата(Lola8669 @  7.2.2009,  15:30 Найти цитируемый пост)
Воse, я к базе подключилась! Хранимой процедурой, чтобы обеспечить безопасность!

А меня научи, пожалуйста, подключаться smile 
PM MAIL ICQ   Вверх
Lola8669
Дата 7.2.2009, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 24.1.2009

Репутация: нет
Всего: нет



Есть форма для проверки логина и пароля с EDIT1 и EDIT2, в базе данных три таблицы: GRUPPI_GPO (ID_GRUPPI_GPO, название группы), RUKOVODITELI_GRUPP (ID_GRUPPI_GPO, ID_RUKOVODITELI) и RUKOVODITELI (ID_RUKKOVODITELI, ФИО).

Мне нужно, чтобы, когда вводили руководители логин и пароль в Edit'ы, то в Grid'е на другой форме выводились только его группы.

Правильно будет, если я положу на форму IBQuery и в нём напишу такой запрос:
select ID_GRUPPI_GPO from GRUPPI_GPO where "ID_GRUPPI_GPO" IN (select "ID_GRUPP_GPO" from RUKOVODITELI_GRUPP where "ID_RUKKOVODITELI"=(select "ID_RUKKOVODITELI" from RUKOVODITELI where "LOGIN"='+Edit1.text+' AND PAROL='+Edit2.Text+'))'  ??
PM MAIL ICQ Skype   Вверх
Kbl4AH
Дата 7.2.2009, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



QuotedStr(Edit.Text) ?
И '' по всему запросу убрать не нужно?

Добавлено @ 21:09
Код

select ID_GRUPPI_GPO from GRUPPI_GPO where "ID_GRUPPI_GPO" IN (select "ID_GRUPP_GPO" from RUKOVODITELI_GRUPP

А зачем выбирать ID_GRUPPI_GPO, а потом еще раз выбирать это же самое из полученного?

Это сообщение отредактировал(а) Kbl4AH - 7.2.2009, 21:11
PM MAIL ICQ   Вверх
Lola8669
Дата 7.2.2009, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 24.1.2009

Репутация: нет
Всего: нет



Блин, а как правильно будет?? Объясните, пожалуйста, на языке простых смертных smile 
PM MAIL ICQ Skype   Вверх
Kbl4AH
Дата 7.2.2009, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



Цитата(Lola8669 @  7.2.2009,  22:58 Найти цитируемый пост)
Блин, а как правильно будет?? Объясните, пожалуйста, на языке простых смертных

Спокойствие! Только спокойствие! (с) Сын Карла
Точно скажи, что тебе нужно...
Если ID группы, то:
Код

Query.SQL.Text := 'select ID_GRUPPI_GPO from RUKOVODITELI_GRUPP where ID_RUKOVODITELI = ' +
'(select ID_RUKOVODITELI from RUKOVODITELI where LOGIN = ' + QuotedStr(Edit1.text) + ' AND PAROL = ' + QuotedStr(Edit2.Text) + ')';



Это сообщение отредактировал(а) Kbl4AH - 7.2.2009, 23:23
PM MAIL ICQ   Вверх
Lola8669
Дата 7.2.2009, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 24.1.2009

Репутация: нет
Всего: нет



Цитата(Kbl4AH @ 7.2.2009,  23:19)

Спокойствие! Только спокойствие! (с) Сын Карла

Query.SQL.Text := 'select ID_GRUPPI_GPO from RUKOVODITELI_GRUPP where ID_RUKOVODITELI = ' +
'(select ID_RUKOVODITELI from RUKOVODITELI where LOGIN = ' + QuotedStr(Edit1.text) + ' AND PAROL = ' + QuotedStr(Edit2.Text) + ')';

 smile 
А что этот запрос в моём случае будет делать??
PM MAIL ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0596 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.