На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Обязательно указание:
1) типа базы данных (Paradox/Oracle/Interbase и т.п.)
2) способа доступа к базе данных (ODBC/ADO/DAO/BDE и т.п.)
Например: Paradox/BDE, MS Access/ADO

Наиболее часто задаваемые вопросы:
Базы даных для начинающих. Первые шаги. Понятие о BDE.
Переход на клиент-сервер и начала ADO
Приёмы работы с BLOB (OLE/Memo) полями
Запросы и параметры или как избавиться от многих проблем. Проблемы с датами в запросах.
Нужели мне нужно устанавливать BDE? (или почему не работает программа на другом компьютере)
Модераторы: Bas, Rouse_
  
> Авторизация
    Добрый день! Понимаю что,это тема заезжена вдоль и поперек,но видимо пока не доходит до меня. Имеется wwDBLookupCombo,Edit,Button. БД:MSSQL 2000. Так вот,здесь надо,чтобы 76 отдел имел полный доступ,то бишь 76 отдел это как бы admin, а остальные цеха и отделы это юзеры. И мне надо,чтобы 76 отдел мог войти в главную форму,а другие в одну форму.
    Вот код:
    ExpandedWrap disabled
      procedure TForm7.Button1Click(Sender: TObject);
      var login,parol:string;
      begin
      login:=wwDBLookupCombo1.Text;
      parol:=Edit1.Text;
       
      begin
      dm.ADOQuery1.Close;
      dm.ADOQuery1.SQL.Clear;
      dm.ADOQuery1.SQL.Text:='select * from password Where ((Cex='''+login+''') And (parol='''+parol+'''))';
      DM.ADOQuery1.Open;
      end;
      if DM.ADOQuery1.RecordCount<>0 then
      if DM.ADOQuery1.FieldByName('Cex').AsString = '76' then
           Form3.Show
       
      else
       if dm.ADOQuery1.FieldByName('Cex').AsString = '' then
        Form1.Show;
       
      end


    Ну не могу понять.
      Проблема в чем?

      Добавлено
      Цитата staziah2 @
      if dm.ADOQuery1.FieldByName('Cex').AsString = '' then

      У всех остальных поле Сех пустое?
      Сообщение отредактировано: Bas -
        - SQL.Clear не нужен, если присваиваешь через Text
        - Строковые значения лучше подставлять через параметры (а вдруг пароль будет "bla'; drop table Password"?)
        - Ну и да, проблема-то в чем?
          Цитата Bas @
          Проблема в чем?

          Добавлено
          Цитата staziah2 @
          if dm.ADOQuery1.FieldByName('Cex').AsString = '' then

          У всех остальных поле Сех пустое?

          dm.ADOQuery1.FieldByName('Cex').AsString = '' then А что там нужно прописать?если цехов много...А проблема,в том что,ну не заходит он ни в какую форму после нажатия кнопки войти!не срабатывает и всё

          Добавлено
          Цитата Fr0sT @
          - SQL.Clear не нужен, если присваиваешь через Text
          - Строковые значения лучше подставлять через параметры (а вдруг пароль будет "bla'; drop table Password"?)
          - Ну и да, проблема-то в чем?

          -Так,Clear уберу.
          -Тогда,что надо правильно прописать?
          -Не заходит ни на какую форму после нажатия кнопки Вход
            Ставим точку останова и смотрим что показывает DM.ADOQuery1.RecordCount.
            Попробуй к login,parol добавит Trim
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0932 ]   [ 17 queries used ]   [ Generated: 27.04.24, 00:22 GMT ]