Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
4 / 4 / 1
Регистрация: 14.06.2015
Сообщений: 127

Изменения данных перед сохранением в базу

18.07.2016, 00:08. Показов 743. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ВСем привет, у меня возник довольно простой (надеюсь) вопрос.

Есть у меня компонент TcxDBGrid, я хранимой процедурой загружаю в него данные. Далее пользователь что-то делает с таблицей и я через .post хочу отправить изменения в базу.
Если данные в базе и в TcxDBGrid должны отображаться одинаково , то проблем нет. А если мне необходимо делать какие-нибудь изменения перед сохранением, то как такое реализовать?
На пример, в базе есть столбцы типа datetime и int

datetime...................| INT
1900-01-02 15:41:00...|25
1900-01-02 16:41:00...|26
1900-01-05 8:41:00....|12
1900-01-03 12:41:00...|54

В таблицу TcxDbGrid данные загружаются так:
datetime| INT
1д 15:41|25р
1д 16:41|26р
5д 8:41 |12р
3д 12:41|54р

То есть первый столбец это разность дат между 1900-01-01 00:00:00 и датой столбца (в результате получается varchar)
Второй столбец - это тоже самое что и в таблице, только прибавляется буква "р".
Как в этом случае быть? Как можно сохранять данные из TcxDbGrid в БД?
Можно ли на пример сделать так, что бы для определённого стобца производилось какое-либо форматирование перед сохранением?
Надеюсь, мне удалось понятно описать проблему
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.07.2016, 00:08
Ответы с готовыми решениями:

Проверка на уникальность перед занесением данных в базу с обращением к Access и Excel
Здравствуйте! В access и excel сравниваемые поля по типу совпадают, но как правильно обратиться к полям excel чтоб сравнилось как надо не...

Не вносятся изменения в базу
Здравствуйте! Помогите пожалуйста.Пишу курсовик сделала программу в делфи, подключила базу Аксесс. При попытке добавить новую запись в базу...

Сетевая игра с сохранением данных в базу данных mySQL, находящуюся на удалённом сервере
Здравствуйте! Подскажите, пожалуйста, какую-нибудь литературу по данной теме. Или объясните с чего необходимо начать. Суть игры в том, что...

7
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
18.07.2016, 00:36
Если ХП преобразует данные из таблицы в удобочитаемый для юзера вид, то придется редактировать такие данные не в гриде, а в отельных компонентах.
1
4 / 4 / 1
Регистрация: 14.06.2015
Сообщений: 127
18.07.2016, 10:43  [ТС]
Нашёл альтернативный выход.
Напишу, может кому пригодится.
Создал отдельный невидимый столбец, в котором данные отображаются в том виде, в котором надо сохранять в таблицу
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
18.07.2016, 16:24
Цитата Сообщение от Seolkin Посмотреть сообщение
Создал отдельный невидимый столбец, в котором данные отображаются в том виде, в котором надо сохранять в таблицу
Как можно видеть данные в невидимом столбце? Не логично.
Поэтому в чем заключается этот таинственный "альтернативный выход" - пока не ясно.
0
4 / 4 / 1
Регистрация: 14.06.2015
Сообщений: 127
19.07.2016, 14:05  [ТС]
Скандербег , альтернативный столбец будет для базы. А для отображения будет другой столбец. Когда в отображаемом столбце изменя.тся данные, то автоматически изменяются данные в скрытом столбце (для сохранения в базу)
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
19.07.2016, 14:31
Цитата Сообщение от Seolkin Посмотреть сообщение
Когда в отображаемом столбце изменя.тся данные, то автоматически изменяются данные в скрытом столбце (для сохранения в базу)
Опять же вопрос: каким образом "автоматически изменяются данные"?
А если есть алгоритм такого автоматического изменения, то почему не сделать проще: перед записью в таблицу БД изменить и записать данные в нужном формате не используя в этом случае непонятно зачем созданный столбец?
0
4 / 4 / 1
Регистрация: 14.06.2015
Сообщений: 127
24.07.2016, 20:52  [ТС]
перед записью в таблицу БД изменить и записать данные в нужном формате
Так это изначально мой вопрос и был. Как так реализовать?
Опять же вопрос: каким образом "автоматически изменяются данные"?
С помощью событий
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
24.07.2016, 22:00
Цитата Сообщение от Seolkin Посмотреть сообщение
Когда в отображаемом столбце изменя.тся данные, то автоматически изменяются данные в скрытом столбце (для сохранения в базу)
Из этой фразы был сделан вывод: если данные изменяются для сохранения их в базу, то это и есть реализация преобразования данных для записи в нужном формате.
Не записываете же вы данные в невесть каком виде.
Следовательно, судя по заявлению, сам алгоритм преобразование в программе есть.
Вопрос был только в том, зачем нужен для этого какой-то невидимый столбец.
Если продолжить этот вопрос, то вот это не ответ на него:
Цитата Сообщение от Seolkin Посмотреть сообщение
С помощью событий
Событие - это не программа действия (не алгоритм).
Ключевое слово в вопросе "изменяются", но не в какой момент, а по какому алгоритму?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.07.2016, 22:00
Помогаю со студенческими работами здесь

Помогите с сохранением в базу данных.
Yest basa dannih v kotoruyu nado sohranit nazvaniye i polozheniye vgruzhenogo na server fila v dopolneniye k drugim dannim: kategoriya,...

Добавление данных в таблицу из формы перед строкой итогов с сохранением подсчетов
Люди добрые!!подскажите на примере как добавлять данные из формы в таблицу Excel перед строкой итогов с сохранением подсчетов в ней. Пример...

Не вносятся изменения в базу данных
я подключаю к проекту Dataset используя add new data source. Появляется файл ShoppingMallDataset.xsd. Я объявил две переменные ...

Фильтрация введённых данных перед записью в базу
Доброго времени суток. Совсем недавно начал изучать РНР и вот сегодня я зациклился на функциях фильтрации введённых данных перед...

Шифрование паролей перед занесением в базу данных
для авторизации на ресурсе используется пара логин+пароль, но предположим, что бд могут тупо слить. значит, для того, чтобы сохранить...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru