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

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

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

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

Ошибка в запросе с использованием Like

  • Автор темы Ele
  • Дата начала
E

Ele

У меня запрос....

with DataModule2.ADOQuery28 do
Begin
Close;
SQL.Clear;
SQL.Add('select *');
SQl.Add('From raion');
SQL.Add('Where NAME LIKE '+QuotedStr(p2)+'%'+'');

Open;


Выдает ошибку...где она??? помогите...
 
O

Over

Вот в этой строчке:
Код:
SQL.Add('Where NAME LIKE '+QuotedStr(p2)+'%'+'');
Запусти программу на отладку, и посмотри, какой текст содержится в SQL.Text .
 
R

rdama

Для начала пишешь перед open его пока можешь закомментить.
SQL.Savetofile('sql.txt');
После этого открываешь созданный файл и смотришь как у тебя расставлены одиночные кавычки.
И соответственно смотришь где и что править.
А по логике у тебя там будет что-то типа:
select *
From raion
Where NAME LIKE 'p2'%
 
R

rdama

Специально для тех, которые умнее всех...
Создаем новый проект бросаем кнопку и ADOQuery
На кнопку пишем(можно скопипастить отсюда) код:
procedure TForm1.Button1Click(Sender: TObject);
var p2:string;
begin
p2:='getto';
with ADOQuery1 do
begin
SQL.Clear;
SQL.Add('select *');
SQL.Add('from raion');
SQL.Add('where Name like '+QuotedStr(p2)+'%'+'');
SQL.SaveToFile('c:\sql.txt');
end;
end;

Запускаем жмем кнопку.
Идем на диск c: и смотрим в файл sql.txt.
А видим мы запрос такого вида:
select *
from raion
where Name like 'getto'%
 
R

rdama

Слушай я очень рад, что ты знаешь как пишется и как уходит.
Но не совсем понятно чем твои высказывания могут помочь человеку задавшему вопрос?
Исходя из того, что ты написал за все это время ты умнее нас всех...
Но только смысла и помощи от тебя как от пустого места.
Я предложил рабочий вариант который показывает где есть ошибка.
Пусть человек попробует, если он еще не решил своей проблемы.
Будут другие проблемы спросит.
 
R

rdama

Ну если брать в учет "А автору ваще помощь не нужна."
То тогда и смысла в обсуждаемом вопросе нет.
Надо ставить в шапке (РЕШЕНО)
И чтоб люди сюда со своими никчемными ответами не совались.
 
E

Ele

sax_ol, просто иногда нет возможности выйти в интернет....)))

Добавлено: Очень извиняюсь...)))
 
Мы в соцсетях:

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