Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UPDATE значений всего столбца DBGridEh 
:(
    Опции темы
Bodrox
  Дата 7.2.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 14.4.2004
Где: Чебоксары

Репутация: нет
Всего: нет



ADO, MS ACCESS.
Есть DBGridEh. В нём таблица. Как обновить столбец значений? Перебирать по одному или SQL запросом?
По поводу SQL запроса - smile smile
Делаю так:
Код

  st:='UPDATE Kvartira '+
      'set EXITOV=EXITOV-1 '+
      'from Kvartira, Whois '+
      'where Kvartira.Kto=Whois.Codeis and Whois.FirmaIs=false';
  fTemp.ADOQueryKv.SQL.Clear;
  fTemp.ADOQueryKv.SQL.Add(st);
  fTemp.ADOQueryKv.Open;

Не пашет, вылетает с ошибкой, типа пропущен оператор smile.
PM MAIL   Вверх
Akella
Дата 7.2.2007, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



а так?

Код

UPDATE Kvartira 
set EXITOV=EXITOV-1
where Kvartira.Kto=Whois.Codeis
and
Whois.FirmaIs=false

PM MAIL   Вверх
Bodrox
Дата 7.2.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 14.4.2004
Где: Чебоксары

Репутация: нет
Всего: нет



Akella, Err: "Параметр WhoIs.FirmaIs не имеет значения по умолчанию"
-------------------
Upd:
Код

  st:='UPDATE Kvartira '+
      'set EXITOV=EXITOV-1 '+
//      'from Kvartira, Whois '+
      'where Whois.FirmaIs=false';
  fTemp.ADOQueryKv.SQL.Clear;
  fTemp.ADOQueryKv.SQL.Add(st);
  fTemp.ADOQueryKv.Open;


Это сообщение отредактировал(а) Bodrox - 7.2.2007, 16:10
PM MAIL   Вверх
Akella
Дата 7.2.2007, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



убери from из запроса, разве это правильно?

Добавлено @ 16:08 
хотя я с аксессом не работал, возможно у него свои заморочки
PM MAIL   Вверх
Bodrox
Дата 7.2.2007, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 14.4.2004
Где: Чебоксары

Репутация: нет
Всего: нет



Akella, ошибка как раз без from и вылазит smile.
PM MAIL   Вверх
Rodman
Дата 7.2.2007, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



а поле EXITOV к какой таблице относится?
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Akella
Дата 7.2.2007, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



а так?
Код

UPDATE Kvartira set AA=AA-1 where Kto in (select Codeis from Whois where FirmaIs = false)


Добавлено @ 16:18 
акцесс понимает вложенные запросы?
PM MAIL   Вверх
Bodrox
Дата 7.2.2007, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 14.4.2004
Где: Чебоксары

Репутация: нет
Всего: нет



Akella, сэнкс. Я вместо in писал = smile.
Код

  st:='UPDATE Kvartira set Kvartira.EXITOV = Kvartira.EXITOV - 1 '+
  'where Kto in (select Codeis from Whois where FirmaIs = false)';
  fTemp.ADOQueryKv.SQL.Clear;
  fTemp.ADOQueryKv.SQL.Add(st);
  fTemp.ADOQueryKv.ExecSQL;


Rodman, тож увидел. Исправленный и работающий вариант - выше. Оказ-ся, не Open нады, а ExecSQL.
PM MAIL   Вверх
Akella
Дата 7.2.2007, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(Bodrox @  7.2.2007,  16:38 Найти цитируемый пост)
 ExecSQL.

естевственно!
PM MAIL   Вверх
Bodrox
Дата 7.2.2007, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 14.4.2004
Где: Чебоксары

Репутация: нет
Всего: нет



Зато с датой такой финт не прокатывает smile.

Код

st:='UPDATE Kvartira set Kvartira.DataPublicacii = '+QuotedStr(DateToStr(Date));


Err:"DataPublicacii не имеет значения по умолчанию"

Это сообщение отредактировал(а) Bodrox - 7.2.2007, 16:57
PM MAIL   Вверх
Akella
Дата 7.2.2007, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



а если без QuotedStr
PM MAIL   Вверх
Bodrox
Дата 7.2.2007, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 14.4.2004
Где: Чебоксары

Репутация: нет
Всего: нет



Цитата(Akella @ 7.2.2007,  17:59)
а если без QuotedStr

Такая же фигня.
Косяк мой, таблица KvPublic smile. Сорри, спасибо всем.

Это сообщение отредактировал(а) Bodrox - 7.2.2007, 17:05
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0588 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.