|
2 / 2 / 3
Регистрация: 28.03.2016
Сообщений: 45
|
||||||
Подтверждение изменений в базе28.07.2016, 10:46. Показов 2316. Ответов 8
Метки нет (Все метки)
Добрый день, Уважаемая администрация и пользователи форума!
Помогите разобраться в такой ситуации: Есть Form1 - на ней лежит Edit1 и 2 BitBtn ("Add" и "Show"). При нажатии на кнопку "Add" - добавляем в БД данные введенные в Edit1. Код кнопки:
При двойном клике мыши по строчке в DBGrid - открывается Form3, на которой находится DBEdit и кнопка "Save". В DBEdit уже находится текст из строки в DBgrid по которой нажали двойным щелчком. Соединение с БД установлено так: IBDataBase/IBTransaction/DataSource/IBDataSet Вопрос: Какой код необходимо написать в обработчике событий кнопки "Save", чтобы при изменении текста в DBEdit перезаписывалось значение в БД. Спасибо, за ранее благодарен! с Уважением, gr3yvac
0
|
||||||
| 28.07.2016, 10:46 | |
|
Ответы с готовыми решениями:
8
История изменений в базе данных |
|
управление сложностью
|
|
| 28.07.2016, 10:54 | |
|
Думаю что в этой теме найдете ответ на вопрос
Добавление информации в базу данных через ADOQuery вводимый через Edit
1
|
|
|
2 / 2 / 3
Регистрация: 28.03.2016
Сообщений: 45
|
|
| 28.07.2016, 12:26 [ТС] | |
|
Почтальон, Спасибо, но я читал эту тему. Не нашел ответа на мой вопрос.
Добавлено через 6 минут При изменении содержимого в DBEdit - значение сразу же изменяется в DBGrid... Но при закрытии и открытии формы с DBGrid - изменения не остаются. Простите, я новенький в этом деле, но мне кажется, данные просто изменяются в приложении и никак не отправляются в базу для перезаписи. Пробовал Post() - аналогичная ситуация. Добавлено через 1 час 21 минуту Может еще подскажете, какую литературу почитать для данного направления - Работа с Interbase и с++ builder? Взялся за книгу: Interbase и C++ bulder на примерах, но столкнулся с трудностями по SQL запросам. Можете посоветовать хорошую(где все доступным языком написано) книгу по SQL? Спасибо.
0
|
|
|
2 / 2 / 3
Регистрация: 28.03.2016
Сообщений: 45
|
|||||||||||||||||||||||||||
| 28.07.2016, 17:11 [ТС] | |||||||||||||||||||||||||||
Добавлено через 5 минут У Архангельского написано: ...изменения в таком случае сохраняются свойством "Modified". Написал - DBEdit->Modified. Никаких изменений. Добавлено через 1 час 52 минуты Переделал, убрав DBEdit с Form3. Поставил просто Edit.
Как быть? Добавлено через 1 час 53 минуты Для проверки поставил на Form3 DBNavigator, через него так же не изменяются данные. Я правильно понимаю? - Не срабатывает метод Post()? т.к. данные изменяются в DBGrid, пока я не сделаю
//--------------------------------------------------------------------------- Добавлено через 42 минуты Тема актуальна. Надеюсь кто-нибудь откликнется на помощь... Спасибо.
0
|
|||||||||||||||||||||||||||
| 29.07.2016, 04:19 | |||||||
Сообщение было отмечено GR3YVAC как решение
РешениеТранзакция, что такое в курсе? Когда ты открываешь IBDataSet у тебя стартует транзакция и пока ты его не закрыл все твои изменения "не видны" в БД. Закрыл IBDataSet, транзакция зафиксировалась (Commit) и все твои изменения будут "видны" в БД. Добавлено через 3 минуты Можно и все ручками делать. Пример (самый первый, который попался) из хелпа (очень нужная, понимаешь, вещь )
2
|
|||||||
|
2 / 2 / 3
Регистрация: 28.03.2016
Сообщений: 45
|
|||||||||||||||||||||
| 29.07.2016, 15:57 [ТС] | |||||||||||||||||||||
|
Bit_Man, да, с таблицей сравнивал. Транзакция? - читал)) Получается, при каждом обращении к БД ( добавлении/изменении/удалении) необходимо открывать dataset и закрывать?
Спасибо за ответ! Попробую! Ушел )) отпишу)) Добавлено через 3 часа 25 минут Bit_Man, Я так и делал как у тебя в примере при Insert() все работает, все добавляет. А как сделать редактирование? - Есть 2 Edit`a - которые получают поля из бд "P_NAME" и "P_SURNAME" соответственно. Я хочу изменить к примеру только фамилию и потом нажать кнопку "Save". Изменил код по аналогии с Insert(), только поставил Edit();
2. Код с комментариями - тот же результат, только транзаксия и ibdataset становиться active = false и данные в DBGrid пропадают; Поставил после Form3->Close() - IBDataSet->Active = true; Данные появились, но изменения опять же не остались ![]() Добавлено через 5 часов 26 минут Сделал! Выход - добавил 2 транзакции. код кнопки "Add":
Код кнопки "Save":
Спасибо.
0
|
|||||||||||||||||||||
|
2 / 2 / 3
Регистрация: 28.03.2016
Сообщений: 45
|
|
| 29.07.2016, 16:14 [ТС] | |
|
Помогите, пожалуйста.
Вот выкладываю проект: Мне просто осуществить условие, которое написано в топике. Спасибо! База в архиве с проектом. с Уважением, gr3yvac
0
|
|
|
2 / 2 / 3
Регистрация: 28.03.2016
Сообщений: 45
|
|||||||||||
| 31.07.2016, 13:21 [ТС] | |||||||||||
|
Я не знаю, что это за мистика)))
Но после добавления кнопки "Удалить" с кодом:
Кнопка "Save":
0
|
|||||||||||
| 31.07.2016, 13:21 | |
|
Помогаю со студенческими работами здесь
9
Откат изменений в базе данных фиксация изменений в базе данных Отслеживание изменений в базе Access Сохранение изменений в Базе Данных Контроль изменений записей в базе данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|