С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
КотЪ
 Аватар для Zabiyak
219 / 219 / 60
Регистрация: 26.05.2009
Сообщений: 688

Ошибка SQL 104 при выполнении UPDATE

01.09.2010, 15:12. Показов 2423. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
База - Interbase 6, пишу в Delphi7, qGoods - компонент TIBQuery (подключён нормально, запросы SELECT выполняет прекрасно).
Непосредственно участок кода:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Form2.qGoods.SQL.Clear;
        Form2.qGoods.SQL.Add('update GOODS set '+
        'NAME='''+Edit1.Text+''', '+
        'TYPE='+IntToStr(id1)+', '+
        'PRICE_IN='+Edit4.Text+', '+
        'PRICE_OUT='+Edit3.Text+', '+
        'PRICE_INTERNAL='+Edit5.Text+','+
        'UNIT='+IntToStr(id2)+', '+
        'CODE='''+Edit2.Text+''', '+
        'N_NUM='''+Edit6.Text+''', '+
        'TAG='''+Edit9.Text+''', '+
        'CATALOG='''+Edit7.Text+''', '+
        'ART='''+Edit8.Text+''', '+
        'MEMO='''+Memo1.Text+''''+
        ' where ID='+IntToStr(abs(StrToInt(Form2.Label13.Caption))));
        Form2.qGoods.ExecSQL;
Итого в свойстве Form2.qGoods.SQL.Text получаем такой запрос:
Delphi
1
'update GOODS set NAME='1', TYPE=7, PRICE_IN=22,2, PRICE_OUT=55,21, PRICE_INTERNAL=0,UNIT=1, CODE='23423424.', N_NUM='', TAG='', CATALOG='', ART='', MEMO='' where ID=2'
Типы полей в базе:
TYPE, UNIT, ID - integer
PRICE_IN, PRICE_OUT, PRICE_INTERNAL - double precision
остальные - char

При выполнении ExecSQL вылетает ошибка на скрине.


Token unknown - line 1, char 27
TYPE'.

В чём может быть проблема?
В синтаксисе SQL не силён, может где неправильно кавычки/запятые поставил?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.09.2010, 15:12
Ответы с готовыми решениями:

При выполнении запроса UPDATE возникает ошибка ORA-00933: SQL command not properly ended для таблицы с составным ключом
Эй, ребята, я пытаюсь обновить свою таблицу следующей частью кода: private void button4_Click(object sender, EventArgs e) ...

Ошибка при выполнении UPDATE - No connection associated with this command
SQLiteConnection connect = new SQLiteConnection("Data Source=base.db;"); connect.Open(); SQLiteCommand command = new...

Ошибка 1064 при выполнении запроса на update с select
Есть две таблицы: actual_general и reg_smsp Обе таблицы содержат поля INN, а также поле "А" в первой таблице. Требуется очистить...

3
КотЪ
 Аватар для Zabiyak
219 / 219 / 60
Регистрация: 26.05.2009
Сообщений: 688
01.09.2010, 17:39  [ТС]
Разобрался сам - оказывается "TYPE" в Integbase - зарезервированное слово Изменил название поля и всё пошло как по маслу )
0
 Аватар для arni
914 / 879 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
01.09.2010, 20:20
Цитата Сообщение от Zabiyak Посмотреть сообщение
Изменил название поля и всё пошло как по маслу )
Сомнительно такое слышать, ибо если верить вашему отрывку
SQL
1
PRICE_IN=22,2, PRICE_OUT=55,21
то запятая у вас и разделитель полей и разделитель дробной части от целой. Серверу от такого микса будет очень неловко.
0
КотЪ
 Аватар для Zabiyak
219 / 219 / 60
Регистрация: 26.05.2009
Сообщений: 688
01.09.2010, 22:01  [ТС]
Ага, но тем не менее ошибок не было, просто база воспринимала дробь как целое число.
Сделал так
SQL
1
PRICE_OUT='55,21'
теперь лучше)

PS. Спасибо за перенос темы - совсем забыл про этот раздел...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.09.2010, 22:01
Помогаю со студенческими работами здесь

Ошибка при выполнении SQL скрипта
Здравствуйте. При выполнении скрипта возникает ошибка ERROR 1005 (HY000) at line 134: Can't create table 'adadad.преподаватель' (errno:...

Ошибка при выполнении динамического sql
Добрый день! Ребята помогите с запросом. Версия сервера: Sql Express 2008 R2 - 10.50.4000 ПК: Windows 7 64 бит. Я создал...

Невразумительная ошибка при выполнении PL/SQL
Пытаюсь выполнить следующий кусок кода SQL> declare 2> n integer; 3> m integer; 4> begin 5> insert into...

Ошибка ora-00971: "missing SET keyword" при выполнении update
Даны три таблицы dep, prod и sales. Каждая заполнена, и заданы первичные ключи(пока не о них). проблеа следующая: надо изменить данные...

Ошибка при выполнении запроса к mysql (terminate called after throwing an instance of 'sql::SQLException')
Всем привет. Пишу программу - демон, выполняющую изменения в базе данных в случае появления определённых флагов. Использую MYSQL...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru