Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
 Аватар для edsjeka
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386

Подскажите как правильно написать команду Update

26.02.2016, 11:54. Показов 864. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно сделать команду Update, все получается кроме того, что не могу вставить дату. В Insert, там я понял как с помощью параметра вставить дату, а как это сделать в случае Update? Предпоследняя строчка кода.

var today: TDateTime;
today:=Now;
Не пойму как мне вставить today в текст запроса, если перевожу в текст, то получается несовпадение типов, если не перевожу, то SQL не понимает что такое today.

SQL
1
2
3
4
5
6
7
8
9
 'Update Cartridgi'+
     ' Set Articul ='+'"'+Edit7.Text+'"'+','+
     '     NumZayavki ='+'"'+Edit12.Text+'"'+','+
     '     IDMastera ='+IntToStr(mast)+','+
     '     IDManagerVidal =' + IntToStr(vid)+','+
     '     IDStatusa ='+IntToStr(stat)+','+
     '     Komments ="'+Memo1.Lines.Text+'"'+
     '     DateRabot = ' + DateToStr(today)+
     '   Where IDCartridga ='+IntToStr(curID);
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.02.2016, 11:54
Ответы с готовыми решениями:

как правильно написать sql - запрос update?
Имеются две таблицы. Мне нужно во второй таблице обновить поле where в первой таблице id = 1; UPDATE `table1` SET stolbik1 = '$otv'...

Подскажите, как правильно написать
Здравствуйте! Подскажите, пожалуйста, как написать такой код правильно: class Example { public: Example(int...

Подскажите как правильно написать программу
Нужно вычеслить велечины : K0,K1,K2,K3,D0,D1,D2,D3 даны формулы: P=(1/n)summ m при i=1 U(i)*I(i) K0=(1,83*1000000*0,95)/(U*S) ...

10
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
26.02.2016, 11:56
Цитата Сообщение от edsjeka Посмотреть сообщение
В Insert, там я понял как с помощью параметра вставить дату, а как это сделать в случае Update?
Точно так же.
0
 Аватар для edsjeka
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
26.02.2016, 13:11  [ТС]
Цитата Сообщение от northener Посмотреть сообщение
Точно так же.
Не получается, вроде делаю точно также, но выдает ошибку синтаксиса:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
upd:='Update Cartridgi'+
      ' Set Articul ='+'"'+Edit7.Text+'"'+','+
     '     NumZayavki ='+'"'+Edit12.Text+'"'+','+
     '     IDMastera ='+IntToStr(mast)+','+
     '     IDManagerVidal =' + IntToStr(vid)+','+
     '     IDStatusa ='+IntToStr(stat)+','+
     '     Komments ="'+Memo1.Lines.Text+'"'+
     '     DateRabot = :mydate'+
     '   Where IDCartridga ='+IntToStr(curID);
     DataModule1.SQLQuery1.Close;
     DataModule1.SQLQuery1.SQL.Text:=upd;
     DataModule1.SQLQuery1.Params.ParamByName('mydate').Value:=today;
     DataModule1.SQLQuery1.ExecSQL;
Значение DataModule1.SQLQuery1.SQL.Text получается таким, вроде все верно:
SQL
1
'Update Cartridgi Set Articul ="AA023217",     NumZayavki ="",     IDMastera =4,     IDManagerVidal =1,     IDStatusa =3,     Komments ="фб SGT"     DateRabot = :mydate   Where IDCartridga =51'#$D#$A
Что у меня не правильно может быть?
0
5966 / 4542 / 1094
Регистрация: 29.08.2013
Сообщений: 28,151
Записей в блоге: 3
26.02.2016, 13:22
Цитата Сообщение от edsjeka Посмотреть сообщение
Что у меня не правильно может быть?
вместо кучи кавычек пишите QuotedSTR()

и двойных кавычек " не должно быть - все должны быть одинарными ''

Добавлено через 36 секунд
а еще лучше все ваши значения замените на параметры
1
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,659
Записей в блоге: 21
26.02.2016, 13:35
... но тогда не задавайте каждый раз SQL заново. обновляйте параметры и все
0
 Аватар для edsjeka
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
26.02.2016, 14:54  [ТС]
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
upd:='Update Cartridgi'+
      ' Set Articul = :myart,'+
     '     NumZayavki = :mynzay,'+
     '     IDMastera = :myidmas,'+
     '     IDManagerVidal = :myidmanv,'+
     '     IDStatusa = :mystat,'+
     '     Komments = :mykom'+
     '     DateRabot = :mydate'+
     '   Where IDCartridga ='+IntToStr(curID);
 
     DataModule1.SQLQuery1.Close;
     DataModule1.SQLQuery1.SQL.Text:=upd;
     DataModule1.SQLQuery1.Params.ParamByName('myart').Value:=Edit7.Text;
     DataModule1.SQLQuery1.Params.ParamByName('mynzay').Value:=Edit12.Text;
     DataModule1.SQLQuery1.Params.ParamByName('myidmas').Value:=IntToStr(mast);
     DataModule1.SQLQuery1.Params.ParamByName('myidmanv').Value:=IntToStr(vid);
     DataModule1.SQLQuery1.Params.ParamByName('mystat').Value:=IntToStr(stat);
     DataModule1.SQLQuery1.Params.ParamByName('mykom').Value:=Memo1.Lines.Text;
     DataModule1.SQLQuery1.Params.ParamByName('mydate').Value:=today;
     DataModule1.SQLQuery1.ExecSQL;
Все-равно все вставляется кроме даты, ошибка. Хотя в другом месте у меня такая же ситуация и дата нормально вставляется, не пойму почему.
Миниатюры
Подскажите как правильно написать команду Update  
0
5966 / 4542 / 1094
Регистрация: 29.08.2013
Сообщений: 28,151
Записей в блоге: 3
26.02.2016, 15:03
с датами на разных СУБД косяк
возможно вместо месяца нужно не 2, а 02
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
26.02.2016, 15:08
А если так
Delphi
1
'     DateRabot = Date(:mydate)'+
0
 Аватар для edsjeka
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
26.02.2016, 15:12  [ТС]
Цитата Сообщение от northener Посмотреть сообщение
А если так
Тогда вот так:
Миниатюры
Подскажите как правильно написать команду Update  
0
 Аватар для edsjeka
8 / 8 / 7
Регистрация: 01.01.2016
Сообщений: 386
26.02.2016, 16:37  [ТС]
Delphi
1
2
3
4
5
6
7
8
9
upd:='Update Cartridgi'+
      ' Set Articul = :myart,'+
     '     NumZayavki = :mynzay,'+
     '     IDMastera = :myidmas,'+
     '     IDManagerVidal = :myidmanv,'+
     '     IDStatusa = :mystat,'+
     '     Komments = :mykom'+
     '     DateRabot = :mydate'+
     '   Where IDCartridga ='+IntToStr(curID);
Разобрался, не хватало запятой в конце третьей снизу строки.
Всем спасибо за помощь!
0
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,659
Записей в блоге: 21
27.02.2016, 06:51
удалено
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.02.2016, 06:51
Помогаю со студенческими работами здесь

Подскажите как правильно написать SELECT )
Вобщем есть таблица CREATE TABLE PEOPLE_LIST ( IND INTEGER NOT NULL, FIO VARCHAR(35) NOT NULL, ...

Подскажите как правильно написать скрипт
Хочу написать скрипт, в игре будет молоток. При тапе на экран нужно реализовать силу удара. Как я себе это представляю. Я нажимаю на экран,...

Подскажите как правильно написать SQL запрос
Был запрос: UPDATE Т_ТС SET Прим = "ЗАРЕГИСТРИРОВАНО", WHERE Т_ТС.ГосНомер=!!!; Я хочу его переделать на : UPDATE Т_ТС SET ...

Подскажите как правильно написать код для ComboBox
Доброго времени суток. Недавно начала изучать дельфи. Подскажите как правильно написать в следующим коде привязку с ComboBox. ...

Подскажите как правильно написать sort дла MSFlexGrid?
Подскажите как правильно написать Sort дла MSFlexGrid?


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru