@DimaDel

Как проверить существует ли пользователь в бд Access?

DataModule2.ADOQuery1.SQL.Clear;
  DataModule2.ADOQuery1.SQL.Add('SELECT Password FROM Users WHERE login ='+#39+Edit1.Text+#39);
  DataModule2.ADOQuery1.Open;
  if DataModule2.ADOQuery1.IsEmpty then
    ShowMessage('Пользователь не найден!')
  else
    if DataModule2.ADOQuery1.FieldByName('Password').Value <> Edit2.Text then
      ShowMessage('Неверный пароль!')
    else
      begin
        Form1.Hide;
        Form3.Show;
      end;

Написал код, который должен проверять существует ли пользователь и входит в аккаунт, если да. Но по какой-то причине я ввожу верные данные, а мне пишет, что пользователя нет. При чем это с записи, начиная с 2 в бд. Если входить на акк админа, который первой записью, то все нормально входит
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ответы на вопрос 2
@kalapanga
Вы наплодили кучу вопросов. Теперь непонятно, вставить запись у Вас получилось или нет? Судя по этому вопросу, вставляете в базу Вы что-то не то. По-моему, у Вас там какая-то путаница с апострофами. Вы файл базы гляньте акцесом-то! Посмотрите сами, что в этой таблице лежит, скорее всего не то, что Вы ожидаете.
Ответ написан
Комментировать
JimmiJanger
@JimmiJanger
Любопытный активист, под маской ленивого нуба.
А если написать что-то вроде:
DataModule2.ADOQuery1.SQL.Add('SELECT Password FROM Users WHERE login ='+#39+Edit1.Text+#39);
  DataModule2.ADOQuery1.Open;
<b>ShowMessage(DataModule2.ADOQuery1.SQL.Text);</b>
  if DataModule2.ADOQuery1.IsEmpty then
    ShowMessage('Пользователь не найден!')
  else

Что он Вам выдаст?
Может, вместо #39 использовать QuotedStr ?
И может вместо символа равно, использовать "Like"?
SELECT * FROM table WHERE name LIKE 'Timmi'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы