|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Ошибка синтаксиса в инструкции UPDATE
Уважаемые, подскажите в чем трабл?
Код:
ADOQ2.SQL.Text:='update items set (caption="'+caption+'",'+ 'count='+IntToStr(Count)+','+ 'group="'+Group+'",'+ 'status='+IntToStr(Status)+','+ 'username="'+Username+'") where ID='+frmAdd.id.Caption; |
#2
|
||||
|
||||
Попробуй без скобок. СУБД какая?
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#3
|
|||
|
|||
1. Скобки внутри комманды не нужны.
2. Строкоыве значения обычно задаются в одинарных кавычках, а не в двойных. |
#4
|
||||
|
||||
Код:
ADOQ2.SQL.Text:= ' update items set '+ ' caption = '+QuotedStr(caption)+ ', count = '+inttostr(count)+ ', group = '+QuotedStr(group)+ ', status = '+inttostr(status)+ ', username = '+QuotedStr(Username)+ ' where id = '+frmAdd.id.Caption; Google в помощь |
#5
|
|||
|
|||
Цитата:
Цитата:
Делал даже через QuotedStr Цитата:
Без результатно |
#6
|
||||
|
||||
Ну раз и это не помогает, то давай код ошибки в студию. Что пишет?
Google в помощь |
#7
|
|||
|
|||
Текст ошибки в сабже, код отсутствует
|
#8
|
|||
|
|||
В последней строке Caption случайно не текст? А нужен int (5). Тогда StrToInt(frmAdd.id.Caption)
|
#9
|
||||
|
||||
Не нравится мне в вашем запросе поле с именем Count. Зарезервировано оно в SQL.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 14.11.2011 в 14:46. |
#10
|
||||
|
||||
Цитата:
Проблема не в этом. Очень часто используются зарезервированные слова для обозначения полей. Постоянно встречаю поля с подобными именами и ни разу проблем из-за этого не было. P.S. Я еще вот чего понять не могу. ТС выложил скриншот какой-то что ли в первом посте? Я из-за фильтров рабочих не вижу. P.S.S. Ок теперь вижу, давай сюда типы всех пяти полей. Google в помощь Последний раз редактировалось Ildar-tsr, 14.11.2011 в 16:46. |
#11
|
|||
|
|||
Да вроде следовал типам данных..
ID - счетчик cod - числовой caption - текстовый count - числовой group - текстовый status - числовой username - текстовый |
#12
|
|||
|
|||
имена полей в кавыхи возьми одинарные или двойные не помню.
|
#13
|
|||
|
|||
промолчу..Мудрецы вы где?
|
#14
|
|||
|
|||
Да, кстати, проглядел.
Count действительно зарезервированное слово. Что бы обойти это, имя поля надо заключить в двойные кавычки (кв. скобки для Access и MS SQL). Только тогда оно может быть case sensitive, т.е. его надо писать также, как ты создавал таблицу. |
#15
|
||||
|
||||
Цитата:
Нет, ну вы и гоните!!! Только что в поле с именем count в аксесе вставил значение, все нормально, отвяжитесь уже от этих зарезервированных слов! Просто ТС какой-то проблемный очень попался. Пропиши следующее (не пропиши, а скопируй прям у меня и вставь в свой код): Код:
ADOQ2.SQL.Text:= 'update items set count = 0 where id=5'; Если да, попробуй так: Код:
ADOQ2.SQL.Text:= 'update items set status = 0 where id=5'; Google в помощь |