![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Очень нужно такую процедуру применить .
Есть таблица в ДБ, в ней есть столбцы 1.Имя 2.Пароль 3.Тип доступа (Администратор,Оператор, Пользователь) Суть такая , клиент логиница и в зависимости от типа доступа ,активируются некоторые button. Можно примерчик. Спасибо |
|
#2
|
|||
|
|||
|
Код:
Adoquery.sql text:='select privilegue from db where username ="123"'; Adoquery.open; Priv:=ADODataSet1.Fields[0].AsString; If priv='adm' then Begin End; Последний раз редактировалось ApxaHGe1, 03.03.2016 в 23:30. |
| Этот пользователь сказал Спасибо ApxaHGe1 за это полезное сообщение: | ||
starcon (04.03.2016)
| ||
|
#3
|
|||
|
|||
|
Завтра Попробую
|
|
#4
|
|||
|
|||
|
Можно описать более подробнее алгоритм .
У меня ругается на Код:
Priv:=ADODataSet1.Fields[0].AsString; |
|
#5
|
|||
|
|||
|
Опечатка была
Вот Код:
Priv:=ADOQuery1.Fields[0].AsString |
|
#6
|
|||
|
|||
|
Всё равно не работает
Undeclared identifier: 'Priv' |
|
#7
|
|||
|
|||
|
Var
Priv:string; |
|
#8
|
|||
|
|||
|
Код:
Var Priv:string; begin form8.ADOQuery1.sql.text:='select privilegue from pol where name ="123"'; form8.ADOQuery1.open; Priv:=ADODataSet1.Fields[0].AsString; If priv='Администратор' then Begin End; end; Столбы 1.privilegue (Администратор, Пользователь) 2.name (123, 234) Таблица pol Ругается на List index out of bounds (0) Последний раз редактировалось starcon, 12.03.2016 в 16:34. |
|
#9
|
||||
|
||||
|
1. Вы считаете, что запрос у вас всегда будет возвращать результат, но это не так, поэтому надо проверять сначала есть ли там что-то, а уже потом пробовать обращаться к данным:
Код:
form8.ADOQuery1.sql.text:='select privilegue from pol where name ="123"'; form8.ADOQuery1.open; if form8.ADOQuery1.isEmpty then Exit; Код:
Priv := ADODataSet1.FieldByName('privilegue').AsString;Код:
Priv := ADODataSet1.FieldByName('privilegue').Value;Код:
Priv := ADODataSet1['privilegue']; |
|
#10
|
||||
|
||||
|
Ну и еще момент. Вы уверены, что строку в запросе вам надо брать в двойные кавычки? Разные базы данных по разному хотят видеть строку.
|
| Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
starcon (12.03.2016)
| ||
|
#11
|
|||
|
|||
|
Спасибо .
Только на двойные кавычки не ругается, на одинарные ругается. Перепробовал все Ваши варианты Ошибка одна ADODataSet1:Field'privilegue' not found что то я делаю не так Последний раз редактировалось starcon, 12.03.2016 в 19:01. |
|
#12
|
||||
|
||||
|
Да всё нормально работает, может просто невнимательность (видимо пропустили 5й пост), вот пример
|
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
starcon (13.03.2016)
| ||
|
#13
|
||||
|
||||
|
Вот я сразу и не обратил внимание, у вас вообще чехарда с источниками.
Запрос вы делаете через Adoquery, а вот данные вы пытаетесь получить уже через ADODataSet1, я и написал в примере ADODataSet1. Разберитесь уж сами что и откуда вы берете. |
| Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
starcon (13.03.2016)
| ||