Показать сообщение отдельно
  #9  
Старый 12.03.2016, 16:46
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

1. Вы считаете, что запрос у вас всегда будет возвращать результат, но это не так, поэтому надо проверять сначала есть ли там что-то, а уже потом пробовать обращаться к данным:
Код:
form8.ADOQuery1.sql.text:='select privilegue from pol where name ="123"';
form8.ADOQuery1.open;
if form8.ADOQuery1.isEmpty then Exit;
2. Обращаться к полю таблицы по индексу можно, но только в том случае, если у вас структура этой таблицы будет 100% нерушима. А вот в процессе разработки это лучше делать по имени поля:
Код:
Priv := ADODataSet1.FieldByName('privilegue').AsString;
или так:
Код:
Priv := ADODataSet1.FieldByName('privilegue').Value;
или так:
Код:
Priv := ADODataSet1['privilegue']; 
каждый из вариантов удобен по своему
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием