|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.07.2012, 19:45 | #1 |
Пользователь
Регистрация: 06.04.2012
Сообщений: 78
|
update Table1 set X=X+1 - как?
Здравствуйте!
Подскажите, как в SQL коде (без ХП) передаваемом из программы написать код который будет к текущему значению добавлять новое значение? Например: а) [update Table1 set X=X+1] б) [update Table1 set StringX=StringX||'text'] |
31.07.2012, 20:02 | #2 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
ну собственно
Код:
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... Последний раз редактировалось Yurk@; 31.07.2012 в 20:06. |
31.07.2012, 20:26 | #3 |
Пользователь
Регистрация: 06.04.2012
Сообщений: 78
|
Из Delphi XE через FIBDataset.UpdateSQL не пашет - то ошибка, то ничего не присваивает.
|
31.07.2012, 20:34 | #4 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
а ошибку угадывать?
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
31.07.2012, 20:41 | #5 |
Пользователь
Регистрация: 06.04.2012
Сообщений: 78
|
Хз что ещё добавить. Пробую подряд 2 варианта:
1. [update Table1 set StringX='text'] - работает 2. [update Table1 set StringX=StringX||'text'] - не работает, поле StringX пусто |
31.07.2012, 20:48 | #6 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
1. commit делаешь?
2. какая ошибка? 3. какие типы полей?
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... Последний раз редактировалось Yurk@; 31.07.2012 в 20:51. |
31.07.2012, 20:51 | #7 |
Пользователь
Регистрация: 06.04.2012
Сообщений: 78
|
1. Один и тот же Dataset, если работает первый вариант, значит commit делается.
2. Уже не помню - менял код уже раз 100. Сейчас никаких ошибок. Просто поле StringX пустое. 3. Varchar Firebird 2.5, FIB 7.0.15. Последний раз редактировалось DeveloPerchik; 31.07.2012 в 21:12. |
31.07.2012, 21:39 | #8 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
если изначально твое StringX = null, то конкатенация "||" не прокатит - она вернет тот же null
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... Последний раз редактировалось Yurk@; 31.07.2012 в 21:43. |
31.07.2012, 23:32 | #9 |
Пользователь
Регистрация: 06.04.2012
Сообщений: 78
|
Спасибо. Не ожидал такой тупизны. Всё же ||=+ но никак не *, а ведь только умножение на 0 надёт 0, но 0+число=число... нде.
Как же можно решить эту проблему в одну строку update'а? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
dbcombobox1 и table1 | kuzmich | БД в Delphi | 3 | 02.05.2012 13:12 |
Как правильно написать запрос UPDATE. | severm | C# (си шарп) | 6 | 25.07.2011 13:54 |
Как вытянуть с DLE $tpl->set | makar3000 | PHP | 2 | 02.07.2011 18:50 |
table1.DatabaseName не видит | Alekcey | БД в Delphi | 4 | 20.07.2010 16:13 |
как переместить курсор DBGrid1 / Table1 | 1900s | БД в Delphi | 3 | 28.05.2008 17:49 |