Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как к тексту запроса добавить переменную? [D7]


Страницы:   1 2

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
 
Рекомендую познакомиться с прекрасной и весьма покладистой дамой по имени Эскюль ;))
 И подружиться


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо