• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

запрос и Lookup'овские поля

  • Автор темы Guest
  • Дата начала
G

Guest

Здравствуйте! возник вопрос по лукаповским полям. Необходимо использовать именно его, так что о смене и речи не идет.существует БД в Access, которая подключена к делфи. все работает замечательно за исключением одного запроса через лукавское поле, где необходимо взять данные не из одной, а из двух таблиц. поле подключено, но при вызове запроса программа выдает ошибку. Говорит что недостаточно параметров, необходимо три.
Помогите пожалуйста, уже не знаю в чем дело. Привожу код запроса с данными из одной таблицы и из двух

работающая
Код:
3: begin
with dbgrid1 do  begin
with datamodule2.ADOquery1 do begin
sql.Clear;
datamodule2.ADOquery1.Active:=false;
sql.add( 'select p.nazvanie as [Название], p.Tip as [Тип предмета], p.obem as [Количество часов]');
sql.add('from Predmeti as p');
sql.Add('where p.Tip like '''+dblookupcombobox2.text+'''');
dbgrid1.Height:=80;
dbgrid1.Width:=680;
datamodule2.ADOquery1.Active:=true;

end;
end;
end;


не работающая
Код:
4: begin
with dbgrid1 do  begin
with datamodule2.ADOquery1 do begin
sql.Clear;
datamodule2.ADOquery1.Active:=false;
sql.add('select p.Prepod as [ID], d.familia as [Фамилия], p.nazvanie as [Название_предмета], p.obem as [Объем], p.Semestri as [Семестры], p.Sum as [Часы_за_семестр]');
sql.add('from Prepod as d, Predmeti as p');
sql.Add('where d.familia like '''+dblookupcombobox3.text+''' and p.Prepod=d.kod_prepod-lya ');
dbgrid1.Height:=80;
dbgrid1.Width:=680;
datamodule2.ADOquery1.Active:=true;
end;
end;
end;

орфографических ошибок в названиях нет.

подобный запрос из несколько таблиц был и через эдит, который также работает. в чем дело, никак не пойму
заранее благодарю откликнувшихся
 
V

vital

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">оффтоп специально для etc\sax_ol</div></div><div class="sp-body"><div class="sp-content">Молчи про AdoQuery=)) А по делу человеку напиши)
 
G

Guest

не разобралась на форуме еще, так что переотправила оо
а так, по делу, угу)
*ищет редактирование сообщения*

а, да. мне кажется что ошибка тут
Код:
sql.Add('where d.familia like '''+dblookupcombobox3.text+''' and p.Prepod=d.kod_prepod-lya ');
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!