Поиск:

Ответ в темуСоздание новой темы Создание опроса
> sql update, изменить значение булевского поля 
V
    Опции темы
14SatanA88
Дата 14.8.2011, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 13.5.2010

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



Доброго времени суток, уважаемые программеры.

Есть таблица, в которой нужно запросом поменять значения в булевском поле.

Пробую так
Код

UPDATE tablename SET boolfield=true


такой запрос должен поменять в таблице все записи, но выпадает с ошибкой (ругается на неверную конструкцию UPDATE)

пробовал добавлять WHERE, ошибка та же.
пробовал по разному инициализировать поле ('TRUE', 1...), ошибка та же.

попробовал сделать аналогичную замену текстового поля, все прошло успешно.

использую Delphi7 / ADOQuery / Access
PM MAIL ICQ   Вверх
Данкинг
Дата 14.8.2011, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



А в самом Access работает? У меня работает (Access 2003):
Код

update cdrom set pole= true


Это сообщение отредактировал(а) Данкинг - 14.8.2011, 17:37


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
14SatanA88
Дата 14.8.2011, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 13.5.2010

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



Цитата(Данкинг @  14.8.2011,  17:36 Найти цитируемый пост)
А в самом Access работает?

да. Access тоже 2003...
PM MAIL ICQ   Вверх
Данкинг
Дата 14.8.2011, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



И из Дельфи работает:
Код

procedure TForm1.Button1Click(Sender: TObject);
begin
 ADOQuery1.close;
 ADOQuery1.SQL.Clear;
 ADOQuery1.SQL.Add('update cdrom set pole=true');
 ADOQuery1.ExecSQL;
end;


Это сообщение отредактировал(а) Данкинг - 14.8.2011, 18:18


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
chip_and_dayl
Дата 14.8.2011, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

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



14SatanA88
Используй параметры и никогда не будет проблем

По поводу твоей проблемы, в некоторых  СУБД труе=1, а фолс=0.  Поэтому попробуй вместо  тру передать  1

Это сообщение отредактировал(а) chip_and_dayl - 14.8.2011, 18:34


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
superVad
Дата 14.8.2011, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Использование параметров спасает во многих случаях.
PM MAIL   Вверх
14SatanA88
Дата 14.8.2011, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 13.5.2010

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



chip_and_dayl
Цитата(14SatanA88 @  14.8.2011,  15:23 Найти цитируемый пост)
пробовал по разному инициализировать поле ('TRUE', 1...)


superVad, пробовал через параметр

Данкинг, точно так же писал, не работает

вот что выпадает:

OLEException Ошибка синтаксиса в инструкции UPDATE

Добавлено через 11 минут и 36 секунд
хм... переименовал поле и все нормально
видимо, имя для поля check не нравится access'у

все, вопрос решен.
PM MAIL ICQ   Вверх
Данкинг
Дата 14.8.2011, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Ну, не знаю тогда: у меня тоже D7 и Access 2003.

Добавлено через 41 секунду
При чём здесь вообще "ошибка синтаксиса" - непонятно тоже. Если бы "несовпадение типов" было - дело другое.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
14SatanA88
Дата 14.8.2011, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 13.5.2010

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



Цитата(Данкинг @  14.8.2011,  21:45 Найти цитируемый пост)
При чём здесь вообще "ошибка синтаксиса"

у меня поле называлось check.
после того, как я его переименовал, все стало работать.
может быть, у access check типа как зарезервированное слово или что-то в этом роде...

PM MAIL ICQ   Вверх
Данкинг
Дата 14.8.2011, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(14SatanA88 @  15.8.2011,  00:47 Найти цитируемый пост)
у меня поле называлось check.

Вообще-то я подумал про глюк с названиями полей, но в примере у тебя никакого check не было, поэтому я и не стал говорить.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
14SatanA88
Дата 15.8.2011, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 13.5.2010

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



Цитата(Данкинг @  14.8.2011,  23:55 Найти цитируемый пост)
 глюк с названиями полей

я до сих пор о такой ерунде и не задумывался
PM MAIL ICQ   Вверх
Данкинг
Дата 15.8.2011, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(14SatanA88 @  15.8.2011,  01:20 Найти цитируемый пост)
я до сих пор о такой ерунде и не задумывался 

Тогда смело называй поля NAME, DATE, REPLACE и ещё как-нибудь в том же роде. smile

Добавлено через 44 секунды
Кстати, на FoxPro ты не работал: там вероятность подобных косяков куда больше.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
14SatanA88
Дата 15.8.2011, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 13.5.2010

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



Цитата(Данкинг @  15.8.2011,  00:39 Найти цитируемый пост)
называй поля NAME, DATE, REPLACE

ну так уже явно не стоит называть поля
но check...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0865 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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