![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как к тексту запроса добавить переменную? [D7]
Gunek © (2006-11-06 23:46:00)Добрый вечер мастера Delphi!
Такой вопрос: Возможно ли к значению поля из одной таблицы прибавить значение полей из других таблиц? Как?
Я попробовал вот так:
for i:=1 to query1.recordcount do begin
for j:=1 to query2.RecordCount do begin
if
query1.FieldByName('inv').AsInteger=query2.FieldByName('inv').AsInteger then
x:=x+query2.FieldByName('Стоимость').AsFloat;
query2.Next;
end;
query2.First;
query1.SQL.Text:='select inv,marka,cost+''x'' from avto;';
query1.Next;
end;
end;
Но выскакивает ошибка при выполнении программы:query1: Cannot perform this operation on a closed dataset
Anatoly Podgoretsky (2006-11-07 09:20:00) [1]> Gunek (07.11.2006 00:15:10) [10]
>select inv,marka,cost+'x'
> В этом и проблема. Как представить x , чтобы его значение прибавилось к значению поля в конкретной записи?
SELECT ничего не прибавляет.
Скажи как такое получилось, что тебя допустили до компьютера и до программирования баз данных, у ваших начальников, что головы нет?
Anatoly Podgoretsky (2006-11-07 09:18:00) [2]> Gunek (07.11.2006 00:01:04) [4]
> Что ты хотел сказать этим:query1.SQL.Text:='select inv,marka,cost+''x'' from avto;';
query1.Next;
> Этим я хотел сказать , что нужно к значению поля cost добавить значение некой переменной x.
А добавил текст к запросу
Германн (2006-11-07 01:05:00) [3]
> Anatoly Podgoretsky © (07.11.06 00:50) [26]
>
> > Германн (07.11.2006 0:36:21) [21]
>
> > paradox умеет работать только с "LocalSQL", но подробного
> описания последнего в природе не существует.
>
> А с Дельфи что поставляется
Может я и не прав. Дело давнее. Когда-то с величайшим трудом смог найти решение с помощью JOIN. Вот сейчас просмотрел LocalSQL.hlp и нашёл ответы.
Но вообще, когда я писАл [21] больше довлели надо мной строки из документации по ранней Дельфи. Типа: "Приведённая документация - сокращённая. Полную версию можете получить вместе с PARADOX".
Gunek (2006-11-07 01:00:00) [4]>Молилась ли ты на ночь Дездемона?
Не молилСЯ! А это обязательно?
Anatoly Podgoretsky (2006-11-07 00:55:00) [5]> Gunek (07.11.2006 0:54:28) [28]
Молилась ли ты на ночь Дездемона?
Gunek (2006-11-07 00:54:00) [6]О, чудо заработало!
Спасибо Вам , Мастера!
Германн (2006-11-07 00:51:00) [7]
> Gunek © (07.11.06 00:46) [25]
Ну чего ты сам паришься и други паришь сразу в двух ветках? От этого только хуже всем!
Anatoly Podgoretsky (2006-11-07 00:50:00) [8]> Германн (07.11.2006 0:36:21) [21]
> paradox умеет работать только с "LocalSQL", но подробного описания последнего в природе не существует.
А с Дельфи что поставляется
Gunek (2006-11-07 00:46:00) [9]>А лучше - через параметр.
Можно поподробней?
Ketmar (2006-11-07 00:38:00) [10]>[22] Gunek(c) 7-Nov-2006, 00:37
>А чем лучше пользоваться?
любой нормальной sql-базой. от FireBird до Oracle.
Ketmar (2006-11-07 00:37:00) [11]>[21] Германн(c) 7-Nov-2006, 00:36
неа. не так. вот так: "LocalSQL умеет работать с paradox". %-)
Gunek (2006-11-07 00:37:00) [12]По-прежнему выскакивает ошибка:
query1: Cannot perform this operation on a closed dataset
>paradox не умеет работать с SQL
А чем лучше пользоваться?
Германн (2006-11-07 00:36:00) [13]
> Ketmar © (07.11.06 00:33) [20]
>
> offtopic: интересно, когда люди выучат простую правду: "paradox
> не умеет работать с SQL"?
Точнее так - paradox умеет работать толькос "LocalSQL", но подробного описания последнего в природе не существует.
Ketmar (2006-11-07 00:33:00) [14]offtopic: интересно, когда люди выучат простую правду: "paradox не умеет работать с SQL"?
Percent (2006-11-07 00:31:00) [15]...('select inv,marka,cost + ' + FloatToStr(x) + ' as cost2 from avto');
Gunek (2006-11-07 00:31:00) [16]>Рекомендую познакомиться с прекрасной и весьма покладистой дамой по >имени Эскюль ;))
> И подружиться
Немного знаком.
С составлением запроса возникли трудности из-за каких-то особенностей Paradox'а в внутренних запросах.
Percent (2006-11-07 00:31:00) [17]А лучше - через параметр.
Gunek (2006-11-07 00:28:00) [18]>Какая СУБД?
Paradox7
Gunek (2006-11-07 00:26:00) [19]x - переменная типа double. Её значение(т е стоимость обслуживания авто) должно прибавиться к значению стоимости покупки.
MsGuns (2006-11-07 00:24:00) [20]>Gunek © (07.11.06 00:15) [10]
>В этом и проблема. Как представить x , чтобы его значение прибавилось к значению поля в конкретной записи?
Select T1.inv, T1.marka, T2.Sum(cost)
from Table1 T1 Left Join Table2 T2 on (T1.inv=T2.inv)
group by T1.inv, T1.marka
order by T1.inv
Рекомендую познакомиться с прекрасной и весьма покладистой дамой по имени Эскюль ;))
И подружиться