Форум Кургана и Курганской области и наших друзей

Зима. Форум Кургана и Курганской области и наших друзей
03 Июль 2020, 23:49:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Базы данных  (Прочитано 1967 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Diesel
Коллежский секретарь
****

Карма: 40
Offline Offline

Пол: Мужской
Сообщений: 319


типчик на читке


WWW Награды
« : 31 Май 2007, 21:51:19 »

есть таблица people где два поля logins и passwords. я ввожу в эдиты логин и пароль, как мне сделать так чтобы проверить совпадает ли логин и пароль?
это что-то вроде регистрации, все данные хранятся в базе..
Записан
KuZZZmich
Корабельный секретарь
***

Карма: -9
Offline Offline

Пол: Мужской
Сообщений: 123

"Красота губит." © Кинг Конг


WWW Награды
« Ответ #1 : 01 Июнь 2007, 02:10:06 »

table1.locate('имя_поля',PasswordEdit.Text,[loPartialKey]);
if (Table1имя_поля.AsString = PasswordEdit.Text) and (Table1имя_поля.AsString = UserEdit.Text)
then showmmessage('проходи!:)')
else showmessage('неправильный пасворд!');

или

Table1.First;
while Table1User.AssTring <> UserEdit.Text do
begin
Table1.Next;
end;
if Table1Password.AssTring = PasswordEdit.Text
then showmmessage('проходи!:)')
else showmessage('неправильный пасворд!');
Записан

Чем дешевле девушка, тем меньше она ломается. © Н.Фоменко "Русское радио"
KuZZZmich
Корабельный секретарь
***

Карма: -9
Offline Offline

Пол: Мужской
Сообщений: 123

"Красота губит." © Кинг Конг


WWW Награды
« Ответ #2 : 01 Июнь 2007, 02:18:48 »

Вот, я заливал недели две назад:

http://ftp://webfile.zaural.ru/soft/DelphiWorld.exe

Огромнейший архив статей и советов по программированию на Дельфи.
Записан

Чем дешевле девушка, тем меньше она ломается. © Н.Фоменко "Русское радио"
Diesel
Коллежский секретарь
****

Карма: 40
Offline Offline

Пол: Мужской
Сообщений: 319


типчик на читке


WWW Награды
« Ответ #3 : 01 Июнь 2007, 14:08:30 »

с этим я разобрался вчера ещё.. а за программку спс! +1 тебе..
есть ещё вопрос: есть две таблички, компоненты Table1, Table2, DBGrid1, DBGrid2, DataSource1, DataSource2 и к ним два навигатора, нужно сделать так, чтобы когда навигатором в одной табличке удаляешь запись, во второй тоже удалялось, как это сделать?
Записан
KuZZZmich
Корабельный секретарь
***

Карма: -9
Offline Offline

Пол: Мужской
Сообщений: 123

"Красота губит." © Кинг Конг


WWW Награды
« Ответ #4 : 01 Июнь 2007, 19:13:40 »

Если таблицы одинаковые, и содержимое в них одно и то же, то можно циклом. Перед удалением присваиваешь данные из каких-нибудь 2х-3х полей в 2-3 переменные, убиваешь строку с этими данными в одном поле, потом делаешь поиск во второй таблице, удаляешь.

http://ftp://webfile.zaural.ru/incoming/diesel.rar - вот пример состряпал.
Записан

Чем дешевле девушка, тем меньше она ломается. © Н.Фоменко "Русское радио"
sharpey
BSD'ун
Титулярный советник
*****

Карма: 126
Offline Offline

Пол: Мужской
Сообщений: 686



Награды
« Ответ #5 : 01 Июнь 2007, 20:06:45 »

это что-то вроде регистрации, все данные хранятся в базе..
Так, штрих. В базе лучше не хранить пароли в чистом виде, а хэш (типа MD5 или SHA256) от строки пароля. Так надёжнее.
Записан
Eraser
Провинциальный секретарь
*

Карма: 11
Offline Offline

Пол: Мужской
Сообщений: 32


Награды
« Ответ #6 : 01 Июнь 2007, 21:59:37 »

по проверке пароля проще то будет так:
if Table1.Lookup('имя поля логина',edit1.text,'имя поле пароля')<>edit2.text then
 begin
  showmessage('Error');
  halt;
 end;

по удалению создай процедуру на событие beforedelete у первой таблицы:
procedure TForm1.Table1BeforeDelete(DataSet: TDataSet);
begin
 if Table2.Locate('ключевое поле',Table1ключевое поле.AsString,[]) then
  begin
   table2.Delete;
   table2.FlushBuffers;
  end;
end;
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC
rss | wap
Valid XHTML 1.0! Valid CSS!