Как правильно в SQL-запросе
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2  :| |:
-> Программирование отчетов в БЭСТ-5

#16:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 25 Oct 2007 16:02
    —
Марина wrote:
Код в свойстве OnActivate кнопки. MESSAGEBOX ничего не сказал, как будто не сработал!
А он и не дошел до него. Так как код написан с ошибкой. Правильный код такой:
Code:
  cSql:='select img.nnum, img.image, img.partia'+
        ' from [sclad\spartimg] as img'+
        ' inner join '+[DialogForm.DataSet1."finame"]+' as tmp'+
        ' on tmp.nnum=img.nnum and tmp.partia=img.partia';
  Query1.Sql:=cSql;
  Query1.Open;

#17:  Author: МаринаLocation: Кондрина Марина Александровна PostPosted: 25 Oct 2007 16:42
    —
Теперь страшно ругается, что можно использовать только CREATE,DROP,SELECT и т п. проверила, ноименование файла попадает в датасет1 правильн

#18:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 25 Oct 2007 17:00
    —
Марина wrote:
Теперь страшно ругается, что можно использовать только CREATE,DROP,SELECT и т п. проверила, ноименование файла попадает в датасет1 правильно
Файл лежит вне каталога базы данных БЭСТ-4+? Если да то ошибка понятна почему - мы об этом говорили выше. Если в каталоге с базой данных то как передается его имя конкретно (если можно напишите пример)?

#19:  Author: МаринаLocation: Кондрина Марина Александровна PostPosted: 26 Oct 2007 08:14
    —
Теперь этот пример получился. Просто удалила cSql из словаря данных, хотя и не поняла, что там с ним могло плохого происходи

#20:  Author: МаринаLocation: Кондрина Марина Александровна PostPosted: 26 Oct 2007 08:43
    —
Давайте пожалуйста еще доконаем пример с параметрами. Пока я пишу
Code:

select nnum, image, partia
from [sclad\mdocm] as nak
where nak.numdoc=:p1 and nak.date=:p2

то все работает,
но стоит только добавить join, как все ломается
Code:

select img.nnum, img.image, img.partia
from [sclad\mdocm] as nak
where nak.numdoc=:p1 and nak.date=:p2
outer join [sclad\spartimg] as img
on nak.nnum=img.nnum and nak.partia=img.partia

Что, в случае использования параметров нельзя использовать join, или надо искать неверный синтаксис?
ругается "Unenspected token: outer: found extra tokens after enspected end of statement -- location of error in the sql statement is 108 (line1, column1)"

#21:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 26 Oct 2007 09:45
    —
Добрый день!
Марина wrote:

но стоит только добавить join, как все ломается
Code:

select img.nnum, img.image, img.partia
from [sclad\mdocm] as nak
where nak.numdoc=:p1 and nak.date=:p2
outer join [sclad\spartimg] as img
on nak.nnum=img.nnum and nak.partia=img.partia
Я так понимаю, что ошибка в тексте запроса:
1. Описание таблиц делается в опции FROM, а не WHERE.
2. Опиця OUTER может использоватся только вместе с опциями LEFT или RIGHT.
По этому ваш запрос должен иметь вид:
Code:
select img.nnum, img.image, img.partia
from [sclad\mdocm] as nak LEFT outer join [sclad\spartimg] as img
on nak.nnum=img.nnum and nak.partia=img.partia
where nak.numdoc=:p1 and nak.date=:p2

#22:  Author: Дениска PostPosted: 26 Oct 2007 10:01
    —
Марина wrote:

Code:

select img.nnum, img.image, img.partia
from [sclad\mdocm] as nak
where nak.numdoc=:p1 and nak.date=:p2
outer join [sclad\spartimg] as img
on nak.nnum=img.nnum and nak.partia=img.partia



А что должен делать этот код?

#23:  Author: МаринаLocation: Кондрина Марина Александровна PostPosted: 26 Oct 2007 10:38
    —
Большое Вам спасибо, теперь все стало поня



-> Программирование отчетов в БЭСТ-5


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2  :| |:
Page 2 of 2

Powered by phpBB © 2001, 2005 phpBB Group