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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2014, 13:47   #1
govorun1
Форумчанин
 
Регистрация: 08.11.2013
Сообщений: 137
По умолчанию одновременное Update 3-х таблиц

Три таблицы имеют одинаковое поле
Пытаюсь обновить это поле сразы в 3-х таблицах
Код:
var
    D1:real;
begin
    D1:= STRTOFLOAT(DBEDITEH2.Text);
    Datamodule3.ADOQuery8.Active:=FALSE;
    Datamodule3.ADOQuery8.SQL.Text := 'UPDATE PV_STR, PV_PER, PV_KART SET [эквивалент] = (:D1 * PV_STR.[сумма]), (:D1 * PV_PER.[сумма]), (:D1 * PV_KART.[сумма]) WHERE [код валюты] = 643';
    Datamodule3.ADOQuery8.Parameters[0].Value:=D1;
    Datamodule3.ADOQuery8.Parameters[1].Value:=D1;
    Datamodule3.ADOQuery8.Parameters[2].Value:=D1;
    Datamodule3.ADOQuery8.ExecSQL;
Выдает ошибку синтаксиса.
govorun1 вне форума Ответить с цитированием
Старый 18.01.2014, 14:00   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А что выдавать, если такой ход событий в движке СУБД не предусмотрен? Посылать по дальше, что-ли?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.01.2014, 14:16   #3
govorun1
Форумчанин
 
Регистрация: 08.11.2013
Сообщений: 137
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А что выдавать, если такой ход событий в движке СУБД не предусмотрен? Посылать по дальше, что-ли?
Интересная мысль...
Спасибо
govorun1 вне форума Ответить с цитированием
Старый 18.01.2014, 14:33   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А, что, ошибку сделал, а в ответ - а пошел ты А по существу обновляй каждую таблицу отдельным UPDATE
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.01.2014, 14:42   #5
govorun1
Форумчанин
 
Регистрация: 08.11.2013
Сообщений: 137
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А, что, ошибку сделал, а в ответ - а пошел ты А по существу обновляй каждую таблицу отдельным UPDATE
А если таблица будет одна, но условия ТРИ. Примерно так:
Код:
var
    D1:real;
begin
    D1:= STRTOFLOAT(DBEDITEH2.Text);
    Datamodule3.ADOQuery8.Active:=FALSE;
    Datamodule3.ADOQuery8.SQL.Text := 'UPDATE PV_STR SET [эквивалент] = :D1 * [сумма] WHERE [код валюты] = 643, [код валюты] = 645, [код валюты] = 647'
    Datamodule3.ADOQuery8.Parameters[0].Value:=D1;
    Datamodule3.ADOQuery8.ExecSQL;
Или такое тоже не получится?
govorun1 вне форума Ответить с цитированием
Старый 18.01.2014, 14:43   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Предлагаю уделить синтаксису SQL хотя бы часик и такие вопросы отпадут сами собой. Такое получится, но не так. См. IN
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.01.2014, 15:45   #7
govorun1
Форумчанин
 
Регистрация: 08.11.2013
Сообщений: 137
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Предлагаю уделить синтаксису SQL хотя бы часик и такие вопросы отпадут сами собой. Такое получится, но не так. См. IN
а IN не для разных полей?
govorun1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одновременное копирование Денис73 Помощь студентам 1 09.11.2013 02:03
одновременное нажатие glebast Общие вопросы Delphi 2 30.04.2012 13:59
Одновременное воспроисведение звуков VarXdar Общие вопросы по Java, Java SE, Kotlin 2 06.04.2011 00:38
Оператор update <TABEL> для смежных таблиц SERGOFF БД в Delphi 0 30.01.2011 18:00
одновременное нажатие клавиш DeDoK Общие вопросы Delphi 3 08.01.2010 16:59