Модераторы: 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   Вверх
Kbl4AH
Дата 7.2.2009, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Lola8669 @  7.2.2009,  23:43 Найти цитируемый пост)
А что этот запрос в моём случае будет делать??

 smile 
Наверное, тоже, что и этот:
Цитата(Lola8669 @  7.2.2009,  20:20 Найти цитируемый пост)
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   Вверх
Akella
Дата 8.2.2009, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



/убегает в ужасе smile 
PM MAIL   Вверх
Данкинг
Дата 8.2.2009, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Цитата(Lola8669 @  7.2.2009,  20:20 Найти цитируемый пост)
Правильно будет, если я положу на форму IBQuery и в нём напишу такой запрос:

Сама придумала? smile Это всё для того, чтобы по логину пароль найти в таблице?

Это сообщение отредактировал(а) Данкинг - 8.2.2009, 07:51


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


Опытный
**


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

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



Цитата(Данкинг @  8.2.2009,  07:47 Найти цитируемый пост)
Сама придумала?  Это всё для того, чтобы по логину пароль найти в таблице?

Там более тонкая задумка smile  smile 

ЗЫ. Лола, не бойся, мы все равно тебе поможем smile даже если ты этого не хочешь... ты главное пиши подробнее свои вопросы
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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