Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
12 / 12 / 3
Регистрация: 07.05.2013
Сообщений: 139

Ошибка синтаксиса UPDATE

27.07.2013, 16:25. Показов 1318. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую. Начинаю сходить с ума.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
...
var
summa:string;
...
if fix.Text<>'0' then summa:=fix.Text;
...
Query1.Active:=false;
Query1.SQL.Clear;
Query1.SQL.Add('UPDATE compl SET version=:ve, skidka='+procent.Text+',fix='+fix.Text+',skidka_rub='+rub.Text+', po_cene=:po, flash=:fl, summ=:summm ,first_sk=:fs');
Query1.SQL.Add('WHERE (id_org='+IntToStr(id_org)+') AND (id_compl='+IntToStr(id_compl)+');');
Query1.Parameters.ParamByName('po').Value:=cb.Text;
Query1.Parameters.ParamByName('ve').Value:=cbVer.Text;
if cbLoc.Checked=true then Query1.Parameters.ParamByName('fl').Value:='1' else
  Query1.Parameters.ParamByName('fl').Value:='0';
Query1.Parameters.ParamByName('summm').Value:=summa;
Query1.Parameters.ParamByName('fs').Value:=pr;
Query1.ExecSQL;
В поле fix обязательно либо 0, либо сумма. Если в fix="0" или целое число, то запрос выполняется. Если десятичное, то вылетает с ошибкой. БД Access. Тип поля "summ" - текстовый
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.07.2013, 16:25
Ответы с готовыми решениями:

Ошибка синтаксиса в инструкции Update
Название таблицы и полей правильные 100%. dm.r_bon.SQL.Text:= ' Update user set = '+inttostr(kol_vo)+' where id_user = '+inttostr(us);...

Ошибка синтаксиса в инструкции UPDATE
ADOQuery3.SQL.Text:='UPDATE Таблица1 SET () WHERE id_formula = '+Ttext1+' AND id_student ='+ nameText1+' Values(:count)'; ...

Ошибка синтаксиса в инструкции UPDATE
Если Brutto или Netto ввести меньше 100, выдаёт ошибку. Помогите разобраться, что не так? VES и CENA_BRUTTO_BL глобальные...

11
Заблокирован
27.07.2013, 16:45
,/.
Это раз. Никакого бреда, просто учи матчасть.

Два - НИКОГДА не подставляй нефильтрованые поля, как минимум escape функция, как максимум TParametersList итд средствами клиентской части БД.
0
12 / 12 / 3
Регистрация: 07.05.2013
Сообщений: 139
27.07.2013, 17:07  [ТС]
Да всегда путаюсь с этими знаками.
1) Почему если fix='123.45', то в БД поле fix="123,45"?
2) Делаю
Delphi
1
2
s:=StringReplace(summa,',','.',[]);
summa:=s;
все равно ошибка
0
Заблокирован
27.07.2013, 17:15
Угадай. Они везде ещё и разные могут быть. Кавычек тоже нету, ошибки тоже нету, текста итоговой строки тоже нету...
0
12 / 12 / 3
Регистрация: 07.05.2013
Сообщений: 139
27.07.2013, 17:18  [ТС]
Не понял смысл сказанного. Я не понимаю почему я заношу значение с точкой, а в БД появляется это значение с запятой, хотя
Delphi
1
fix='+fix.Text+'
0
Заблокирован
27.07.2013, 17:20
0
12 / 12 / 3
Регистрация: 07.05.2013
Сообщений: 139
27.07.2013, 17:23  [ТС]
Я так то за помощью пришел. А биться лбом Вы можете в другом месте
0
Заблокирован
27.07.2013, 17:28
Пришёл за помощью - умей формулировать вопрос. И до Update тебе далеко,основы SQL сначала выучи и синтаксис хотя бы на уровне SELECT. Конкретику подсказать невозможно - отсутствует даже описание через что работаешь, не говоря уже о запрошенном выше.
0
12 / 12 / 3
Регистрация: 07.05.2013
Сообщений: 139
27.07.2013, 17:31  [ТС]
Дак задай вопросы. я отвечу. А что и когда мне учить я сам решу
0
Заблокирован
27.07.2013, 17:46
Пост #4. Я наверное буду уж совсем для dumb mode, но SQL любой ПИШЕТ что не так.
0
12 / 12 / 3
Регистрация: 07.05.2013
Сообщений: 139
28.07.2013, 12:33  [ТС]
Пишет ошибка синтаксиса UPDATE, что и указано в названии темы.
Попутно возник вопрос из поста №5.
И даже когда перед запросом делаю стрингреплейс, то все равно вылетает такая же ошибка, если в поле fix.text изначально было значение с запятой

Добавлено через 15 часов 25 минут
Разобрался крч. Неужели так трудно было подсказать
0
Заблокирован
28.07.2013, 16:53
Нельзя. Такие вещи должны запоминаться на всю жизнь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.07.2013, 16:53
Помогаю со студенческими работами здесь

Ошибка синтаксиса в запросе Update
Доброго времени суток. Столкнулся с проблемой как написания запроса на изменение пароля в базе данных MS Access. Все бы ничего, если...

"Ошибка синтаксиса в инструкции UPDATE"(параметры)
Здравствуйте!:curtsy: Клиентское приложение, позволяющее добавлять, редактировать и удалять записи из таблицы БД (магазин бытовой...

UPDATE ошибка синтаксиса
Здравствуйте, Вопрос наверно простой, но помогите пжл. Есть две таблицы. tab1 (id, tg,name) csv (id,tg,param) Надо...

Ошибка синтаксиса в инструкции UPDATE
Добрый день! Я только начинаю изучать c#, пишу консольное приложение. При вводе с клавиатуры строки типа &quot;-edit 3...

Ошибка синтаксиса в инструкции UPDATE
Подскажите пожалуйста в чем может быть проблема. В аксесе запрос работает норм. OleDbConnection con = new...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru