Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi и базы данных

Войти
Регистрация
Восстановить пароль
 
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 79
#1

Изменение данных в БД - Delphi БД

21.09.2014, 17:56. Просмотров 411. Ответов 7
Метки нет (Все метки)

Добрый день. имеется небольшая БД с информацией о человеке. как заносить данные я знаю. После определённого запроса все данные выводятся в необходимых полях Edit из БД. Нужно чтобы после того как человек отредактирует какое-то поле и нажмёт сохранить, данные в необходимом месте в бд изменились. Подскажите как это сделать.
Знаю есть UpdateRecord для ADOTable. но как его использовать не нашёл.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2014, 17:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изменение данных в БД (Delphi БД):

Изменение данных - Delphi БД
Добрый день! Delphi 7 + Firebird 2,5 Добавление записи работает, изменение нет - помоги найти ошибку. код на кнопке Сохранить ...

Изменение типа данных - Delphi
Доброе время суток. Я хотел бы узнать, возможно ли изменение типа данных в запущенной программе. т.е. в коде допустим у меня прописан...

Изменение данных в таблице. - Delphi БД
Создал процедуру для изменения данных в таблице create procedure Update_City1 (@id int, @NameCity nvarchar(50)) as begin update...

Изменение данных в DBGrid - Delphi БД
Здравствуйте, у меня есть DBGrid, поключенный к таблице. В нем есть столбцы: дата окончательного расчета и остаток. Дата окончательного...

Изменение базы данных - Delphi БД
В stringgrid имеется запрос , далее пользователь изменяет значение ячейки или ячеек , необходимо применить эти изменения в базе данных...

Изменение данных в строке DBGrid - Delphi БД
Есть DBGrid->datasource->ADOQuery. Таблица содержит Фамилия, Имя, Номер,Дата. Нужно, чтобы по выбору строки (например кликнули по ней),...

7
MrJone
6 / 6 / 2
Регистрация: 18.09.2014
Сообщений: 124
21.09.2014, 18:46 #2
Попробуй так:
Delphi
1
2
3
4
5
procedure TForm1.Button3Click(Sender: TObject);
begin
  try
   ADOQuery1.Edit;
   ADOQuery1.FieldByName({Тут имя редактриуемой строки}).AsString:=Edit1.Text;
0
Joy
Эксперт Pascal/Delphi
2078 / 1118 / 840
Регистрация: 29.08.2014
Сообщений: 4,071
21.09.2014, 20:34 #3
Delphi
1
2
3
adoquery1.sql.clear;
adoquery1.sql.add ('update plat set name_bank='+QuotedStr(edit1.text)+' where id_plat='+inttostr(ppid));
adoquery1.execsql;
Добавлено через 3 минуты
очищаем предыдущий текст
добавляем свой "изменить таблицу plat установить значение поля name_bank='текст из edi1.text' при условии что поле id_plat=<какому-то значению>
выполнить запрос

Добавлено через 4 минуты
в базе ничего лучше не править, обычно заводят поле типа status и его апдейтят к примеру в архивный, а при нажатии кнопки сохранить добавляют новую запись как изменение старой. Аналогично с удалением. И журнал изменений при этом получается просто идеальный. минус - рост бд.
0
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 79
22.09.2014, 13:07  [ТС] #4
А что бы +inttostr(ppid) так же бралось из поля Edit что необходимо изменить?(там будет текст или цифры)
0
Joy
Эксперт Pascal/Delphi
2078 / 1118 / 840
Регистрация: 29.08.2014
Сообщений: 4,071
22.09.2014, 13:11 #5
я под ppid подразумевал уникальный номер записи. В вашем случае может быть и какое-то значение поля.
Если используется функция Inttostr - то цифры.
0
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 79
22.09.2014, 14:10  [ТС] #6
Delphi
1
form1.adoquery2.sql.add ('update dolgnik set other='+QuotedStr(edit3.text)+' where index='+Inttostr(edit1.text));
Выдаёт ошибку there is no overloaded version of inttostr that can be called with these arguments
В поле Edit1 содержатся только цифры
Как исправить

Добавлено через 13 секунд
Delphi
1
form1.adoquery2.sql.add ('update dolgnik set other='+QuotedStr(edit3.text)+' where index='+Inttostr(edit1.text));
Выдаёт ошибку there is no overloaded version of inttostr that can be called with these arguments
В поле Edit1 содержатся только цифры
Как исправить

Добавлено через 47 секунд
Delphi
1
form1.adoquery2.sql.add ('update dolgnik set other='+QuotedStr(edit3.text)+' where index='+Inttostr(edit1.text));
Выдаёт ошибку there is no overloaded version of inttostr that can be called with these arguments
В поле Edit1 содержатся только цифры
Как исправить
0
Joy
Эксперт Pascal/Delphi
2078 / 1118 / 840
Регистрация: 29.08.2014
Сообщений: 4,071
22.09.2014, 14:17 #7
inttostr убрать
0
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 79
22.09.2014, 14:26  [ТС] #8
огромное спасибо
0
22.09.2014, 14:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2014, 14:26
Привет! Вот еще темы с ответами:

Изменение данных в БД запросом UPDATE - Delphi БД
Есть БД с контактными данными. Хочу реализовать функцию Изменения существующей записи, путем применения запроса UPDATE. Вот код: ...

MS Access Изменение и удаление данных по условию - Delphi БД
Здравствуйте. У меня такая проблема. Нужно с помощью ADOTable по условию удалить всё то что попадает в это условие Попробовала фильтр....

Изменение данных через Query - Delphi БД
пожалста -пожалста, помогите у меня идет выборка с помощью Query из таблицы .DBF и мне надо, чтоб пользователь мог изменить данные в...

Delphi+SQL изменение данных - Delphi БД
Здравствуйте, пишу базу данных в SQL управляемую через Delphi. Мне необходимо взять данные из базы и вывести все данные на форму в эдиты ...


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

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

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