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

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

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

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

Запросы в делфи

  • Автор темы Tatali
  • Дата начала
T

Tatali

Помогите пожалуйста разобраться. Не компилируется программа. Выдает ошибку на запросе. Я понять ничего не могу, так как эти же запросы выполняются в моей базе в accesse. если не трудно поправьте меня пожалуйста. Вот моя работа:
 

Вложения

  • ______.rar
    351,4 КБ · Просмотры: 148
O

Over

В делфи убери в запросах символ ";" на конце.
 
T

Tatali

Переделала маленько прогу. Все теперь компилируются, но запросы по прежнему не выполняются. Что делать??????
 

Вложения

  • 5.rar
    359,3 КБ · Просмотры: 141
O

Over

Ещё раз, другими словами. Текст запросов должен быть без ; на конце.

Вот, например, строчка из твоей программы:
<!--shcode--><pre><code class='Delphi'>memo1.Lines.Add('SELECT klient FROM R2 GROUP BY klient HAVING COUNT(*)>1;');[/CODE]

А должно быть так:
<!--shcode--><pre><code class='Delphi'>memo1.Lines.Add('SELECT klient FROM R2 GROUP BY klient HAVING COUNT(*)>1');[/CODE]

Найди одно отличие. ;-)

И так нужно каждый запрос исправить.
 
T

Tatali

щас попробую, это я в старой версии убрала, щас с полем memo попробую уберу ;

Добавлено: нет. Никак. У меня Все теперь компилируются, но запросы по прежнему не выполняются, а в аксесе все путем.
 

Вложения

  • 5_2.rar
    359,1 КБ · Просмотры: 135
O

Over

1)Проверь связи цепоки Грид - ДатаСорс - АдоКвери.
Подсказываю! У тебя датасорс1 привязан к АДОТэйбл1, а запрос выполняется через АДОКвери1. Будь внимательна, плз.
2)Когда присваиваешь запрос в мемо, в конце каждой(на всякий случай) строки добавляй пробел, а то у тебя склеятся слова:
Код:
memo1.Lines.Add ('SELECT filial, strana, Gorod FROM R1 WHERE filial not in (select distinct Filial from'+
'(SELECT R3.N_dog, R3.Filial, R1.Strana, R1.Gorod, R3.Data_n, R3.Data_o, R2.Klient, R2.Strana'+
'FROM (R2 INNER JOIN R3 ON R2.N_dog = R3.N_dog) INNER JOIN R1 ON R3.Filial = R1.Filial)'+'q where q.r1.Strana<>q.r2.Strana)');

Склеятся '...from(SELECT R3.N_dog...' и '....R2.StranaFROM (R2 INNER JOIN....'
 
T

Tatali

Супер. спасибо исправила. Два запроса стали выполняться 1 и 3 запросы. а вот 2 и 4 пишут ошибку синтаксиса. Но парадокс. В аксесе все выполняется, без ошибок. Последний надеюсь вопрос. Не могли бы вы подсказать где я еще накосячила?Заранее благодарна. извините за мою невнимательность.
 
O

Over

Я исправил в проекте все запросы - подобавлял пробелы (так как я и писал выше) и теперь у меня выполняются все запросы. Все 4 не выдают ошибок.
 
T

Tatali

Скиньте пожалуйста проект. Вроде добавила пробелы, а реакции никакой.



P.S Спасибо вам огромное. разобралась, где не хватало пробелов. Спасибо за терпение. Все исправила. Все получилось. Супер.
 
Мы в соцсетях:

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