Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.05.2010, 10:37   #1
Steil
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 14
Восклицание Посмотрите ошибку

Написал код:
procedure TForm2.Button7Click(Sender: TObject);
begin
with dm.Query9 do begin
with SQL do begin
Clear;
Add( 'Select Kod_tovara, Kod_firmy FROM (Tovar INNER JOIN Zakaz_tovar ON Zakaz_tovar.Kod_zakaza = Zakaz_tovar.Kod_zakaza) INNER JOIN Zakaz_firma ON Zakaz_tovar.Kod_zakaza = Zakaz_firma.Kod_zakaza WHERE Zakaz_firma.Kod_firmy = ');
Add( inttostr(dm.Firma.FieldValues['Kod_firmy']) );
end;
Active := true;
ExecSQL;
end;
DBGrid3.DataSource := DM.DataSource7;
end;
вроде как всё правильно, но какого то хера вылетает ошибка:First chance exception at $75D49617. Exception class EDBEngineError with message 'Key violation.
[Microsoft][Драйвер ODBC Microsoft Access] Не поддерживается выражение объединения.'. Process Project5.exe (4536)
и указывает на ExecSQL;
Объясните в чём проблема???
Steil вне форума
Старый 29.05.2010, 15:23   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

ну для начала не помешало бы воздержатся от ненормативной лексики.

потом
1)
Цитата:
'Select Kod_tovara, Kod_firmy FROM (Tovar INNER JOIN Zakaz_tovar ON Zakaz_tovar.Kod_zakaza = Zakaz_tovar.Kod_zakaza) INNER JOIN Zakaz_firma ON Zakaz_tovar.Kod_zakaza = Zakaz_firma.Kod_zakaza
Не находите странным соединение таблиц? чтото вы поле одной таблицы указываете ..
далше
2)
Цитата:
Add( inttostr(dm.Firma.FieldValues['Kod_firmy']) );
возможно и нормально.. не могу судить, описание таблиц невидел..
3)
ещё
Цитата:
Active := true;
ExecSQL;
и к чему тут ExecSQL ? не мешало бы сказать что за компонент Query9
это TQuery? в общем Active := true; равносильно Open и для TQuery используется для открытия набора данных, т.е запроса возвращающего набор данных, ExecSQL в этом компоненте применяется для запросов изменяюих табдлицы, то есть UPDATE, DELETE, CREATE , но не SELECT.
Для ADOQuery это тоже будет верно.
vovk вне форума
Старый 29.05.2010, 15:23   #3
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

повтор, удалите пожалуйста
vovk вне форума
Старый 29.05.2010, 15:55   #4
Steil
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 14
По умолчанию

Верно, тут я хоел написать так:
'Select Kod_tovara, Kod_firmy FROM (Tovar INNER JOIN Zakaz_tovar ON Tovar.Kod_zakaza = Zakaz_tovar.Kod_zakaza) INNER JOIN Zakaz_firma ON Zakaz_tovar.Kod_zakaza = Zakaz_firma.Kod_zakaza

Использую TQuery, но я незнал что ExecSQL; не испльзуется для select..

Прикрепил базу..
Вложения
Тип файла: rar db1.rar (345.4 Кб, 6 просмотров)
Steil вне форума
Старый 29.05.2010, 16:47   #5
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

ну скорее Tovar.Kod_tovara = Zakaz_tovar.Kod_tovara
вроде тогда должно работать, единственное поле Kod_tovara может относится к 2 таблицам, нужно уточнить либо Tovar.Kod_tovara, или Zakaz_tovar.Kod_tovara
vovk вне форума
Старый 31.05.2010, 07:36   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Мат в эфире.
Неформатирование поста.
Закрываю за нарушения
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
посмотрите пожалуйста merets Помощь студентам 7 08.09.2009 23:54
Посмотрите пожалуйста правильно ли написана программа,если нет укажите ошибку. Викулька Помощь студентам 1 10.12.2007 22:49