2013-09-16 5 views
0

им работать на маленькое приложение с логином по почте/пароль который использует базу данных, в базе данных Delphi поиск в базе данных

я есть:

  • номер клиента
  • Почтовый клиент
  • Client Пароль
  • Клиент Имеющиеся кредиты

для входа в систему я проверить пользователь почты/пароль в БД с этим кодом:

if not (tbl1.Locate('Mail', edt1.text,[]) and tbl1.Locate('Password', edt2.text,[])) then 
    begin 
    mmo1.lines.add('Not Registered User'); 
    end 
    else 
    begin 
    mmo1.lines.add('Registered User'); 
    end; 
end; 

это работает для входа моя проблема с кредитами

, например пользователя джон имеют 10 кредитов

Я не могу использовать здесь

Как я могу получить доступную сумму кредитов jo hn от БД?

Большое спасибо

+0

После нахождения записи, например, 'ShowMessage (tbl1.FieldByName ('Доступные кредиты'). AsString);'? – TLama

+0

да что, если 10 пользователей с одинаковым количеством кредитов? Как показать полное количество кредитов? thx – dudey

+2

@dudey: просто совет: требуется выполнить Локализовать дважды, вызвать его один раз и проверить значения полей. Locate устанавливает найденную запись как текущую, поэтому, если Locate возвращает True, набор данных находится на нужной записи. Вы можете прочитать поля и проверить их значения по своему усмотрению. Вызов Locate дважды означает запуск поиска дважды. – AlexSC

ответ

4

Использовать несколько полей в локации: см Using locate

if (tbl1.Locate('Mail; Password', VarArrayOf([edt1.text, edt2.text]),[])) then 
begin 
    mmo1.lines.add('Registered User: '+ tbl1.FieldByName('credits').asString); 
end 
else 
begin 
    mmo1.lines.add('Not Registered User'); 
end; 
+3

Короткое объяснение было бы хорошо :) – kobik

+0

работать как шарм - Thx alot этот форум - лучшее место для новых программистов, таких как я, чтобы узнать :) Протестировано 101%;) thx Ravault123 – dudey

+0

kobik: Мой английский не так хорошо что-то объяснить. Я не писатель. ;-) – Ravaut123

Смежные вопросы