Вопрос № 158443: Здравствуйте! Как из компонента Edit добавить строковую информацию во все имеющиеся строки одного поля, при том что имеются другие, заполненные поля в этой же таблице?...
Вопрос № 158.443
Здравствуйте! Как из компонента Edit добавить строковую информацию во все имеющиеся строки одного поля, при том что имеются другие, заполненные поля в этой же таблице?
Отправлен: 22.01.2009, 16:05
Вопрос задал: KuchumHan (статус: Практикант)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 13)
Отвечает: Del
Здравствуйте, KuchumHan!
Исхожу из предположения, что вы используете какой-то датасет DataSet, датасурс DataSource и дбгрид DBGrid. Предложу два варианта.
1. Дубовый. DBGrid1.DataSource.DataSet.First; while not DBGrid1.DataSource.DataSet.Eof do begin DBGrid1.DataSource.DataSet.Fields[НомерНужногоПоля].AsString := Edit1.Text; DBGrid1.DataSource.DataSet.Next; end;
2. Правильный. Пишу пример для набора компонентов FIBPlus (остальные
на память не помню, а Delphi включать лениво :)). В случае чего будет несложно перевести на нужный лад, я думаю.
FIBQuery1.SQL.Text := 'update TABLE_NAME set FIELD_NAME = :Param1'; // таким запросом мы редактируем значение поля FIELD_NAME для всех записей таблицы TABLE_NAME FIBQuery1.ParamByName('Param1').AsString := Edit1.Text; // Устанавливаем значение, которое будем заносить в БД FIBQuery1.Transaction.Active := True; /
/ Готовим транзакцию к работе, возможно, что это специфично только для Interbase, но сомневаюсь FIBQuery1.ExecQuery; // Выполняем запрос FIBQuery1.Transaction.Commit; // Подтверждаем внесенные изменения
Будут вопросы - пишите в почту, попробую подсказать.
Удачи.
1. Будьте любезны, названия компонентов пишите правильно, а не русскую транскрибцию. 2. Подобные сентенции: "... остальные на память не помню, а Delphi включать лениво..." свидетельствуют о том, что Вы лентяй и лоботряс! И чтобы Вы на память свою больше не кивали - выношу Вам официальное предупреждение!
--------
∙ Отредактировал: sir Henry, Академик
∙ Дата редактирования: 23.01.2009, 10:23 (время московское)
--------- Только массовые расстрелы спасут Родину!
Ответ отправил: Del (статус: 3-й класс)
Ответ отправлен: 22.01.2009, 17:10
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 241839 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 4 Комментарий оценки: За лень оценка на балл ниже.........
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.