Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
2 / 2 / 0
Регистрация: 14.10.2013
Сообщений: 15
1

Update не производит обновление данных

19.04.2014, 04:28. Просмотров 914. Ответов 6
Метки нет (Все метки)

Не производит обновление данных:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm1.Button1Click(Sender: TObject);
begin
with DataModule2.ADOQuery1 do
 begin
  SQL.Clear;
  SQL.Text:='UPDATE student SET name=:u,' +#13#10+
            'surname=:c WHERE id_stud=:k';
  parameters.ParamByName('u').Value:=edit2.Text;
  parameters.ParamByName('c').Value:=edit3.Text;
  parameters.ParamByName('k').Value:=DBedit1.Text;
  ExecSQL;
  Close;
  SQL.Text:='SELECT * FROM student';
  Open;
end;
end;
Заранее спасибо за комментарии.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2014, 04:28
Ответы с готовыми решениями:

Обновление данных методом Update
Итак, есть форма с ДатаГридом. Делаю в ДатаГриде изменения, нажимаю кнопку Сохранить и:Imports...

Обновление данных в БД: синтаксис Update
есть форма с контролами.при нажатии на кнопку должны обновиться соответсвующие данные..подскажите...

Обновление базы данных dataadapter.Update
знаю что таких тем было много но ни на одной из них я не нашел ответа на свой вопрос ...

Обновление данных UPDATE, исправить ошибки в коде
Доброго времени суток. Подскажите как сделать заполнение данных пользователя? Вот код PHP, не могу...

6
1035 / 960 / 328
Регистрация: 07.08.2012
Сообщений: 2,710
19.04.2014, 07:25 2
Лучший ответ Сообщение было отмечено NOLF как решение

Решение

Если DBEdit1 связан с этим же ADOQuery1, то после Clear (который здесь, кстати, не нужен) и присвоения запроса,то вряд ли этот компонент содержит правильный текст.
В тексте запроса CRLF (#13#10) не нужен, к тому же, вреден.
Лучше, если отображают и модифицируют данные разные датасеты.

Если бы данные отображались с помощью ADOQuery1, а модифицировались ADOQury2, то код мог выглядеть так:
Delphi
1
2
3
4
5
6
7
8
9
with DataModule2 do begin
  ADOQury2.SQL.Text:='UPDATE student SET name=:u,' +
                     'surname=:c WHERE id_stud=:k';
  ADOQury2.parameters.ParamByName('u').Value:=edit2.Text;
  ADOQury2.parameters.ParamByName('c').Value:=edit3.Text;
  ADOQury2.parameters.ParamByName('k').Value:=ADOQury1['id_stud'];
  ADOQury2.ExecSQL;
  ADOQury1.Requery;
end;
1
2 / 2 / 0
Регистрация: 14.10.2013
Сообщений: 15
19.04.2014, 09:06  [ТС] 3
Спасибо за ответ. Продвижение появилось, но есть нюанс:
Update не производит обновление данных

Я так понимаю несоответствие в кодировке? (Поля в SQL - cp1251)
0
Эксперт Pascal/Delphi
1091 / 580 / 119
Регистрация: 13.02.2009
Сообщений: 3,297
19.04.2014, 13:25 4
Delphi
1
 ADOQury2.parameters.ParamByName('k').Value:= ADOQury1.FieldByName('id_stud').Value;
Добавлено через 6 минут
или
Delphi
1
ADOQury2.parameters.ParamByName('k').Value:= ADOQury1.FieldByName('id_stud').AsInteger;
0
2 / 2 / 0
Регистрация: 14.10.2013
Сообщений: 15
19.04.2014, 16:20  [ТС] 5
Update не производит обновление данных

Прошу прощения, вот такое окно.
0
1035 / 960 / 328
Регистрация: 07.08.2012
Сообщений: 2,710
19.04.2014, 16:55 6
Обращайтесь в профильный раздел форума.
https://www.cyberforum.ru/mysql/
0
2 / 2 / 0
Регистрация: 14.10.2013
Сообщений: 15
19.04.2014, 19:53  [ТС] 7
Проблема решена, спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2014, 19:53

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Добавление и обновление (insert and update) данных связанных таблиц mysql
Добрый день всем. Стараюсь изучить связи таблиц в mysql и остановился на обновлении данных в...

Поставщик данных не производит экспорт данных
Люди .....помогите! Кто чем может. Есть проблемище трехзвенное убожище. Соедененное посредствам...

Обновление Update
Помогите пожалуйста, чтот не получается произвести обновление, через UPDATE, таблицы, некоторые...

Обновление UPDATE
Есть две таблицы Institute (id_in, name_in) Center (id_cen, id_in, name_cen) ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.