![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | 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)
  | ||