![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
dron4ik |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
Всем привет! Щас сделал лаб работу по предмету БД. Все сделал как по методике, но кнопка сохранить не хочет работать...в чем дело ..не пойму..при нажатии на кнопку сохранить выходит ошибка----Query1: Dataset not in edit or insert mode. Напрмер...нашел запись в БД удалил ёё...жму..применить изменения, потом жму...сохранить...и выходит ошибка----Query1: Dataset not in edit or insert mode. но при этом после перезапуска проги этой записи нету...т.е. сохранились изменения.
Вот на лабу задание: Работа с компонентом Query 1.На вкладке BDE выбрать компонент Query. Назначить следующие свойства DatabaseName; SQL (записать запрос). 2.Установить следующие компоненты на форму: DataSource, DBGrid, DBNavigator, Button. 3.В свойстве Caption кнопки написать “открыть Query”. На событие click кнопки написать команду: Query1.Open; 4.Отобразить данные, используя компонент DBEdit (Вкладка DataControls). Назначить свойства DataField и DataSource. Свойства и процедуры набора данных (Query) open – открыть набор данных eof – конец набора данных First – первая запись Last – последняя запись Next – следующая запись insert – вставка записи edit – редактирование записи delete – удаление записи Post – сохранить ApplyUpdates – применить изменения в БД Prior – последняя Навигация Установить кнопки с именами: Первая запись, Назад, Вперед, Последняя запись. Реализовать навигацию. Модификация таблицы 1.Для модификации нескольких записей или таблиц используется компонент UpdateSql. 2.Установить компоненты Query (вкладка BDE), DataSource (вкладка DataAccess). 3.Query назначить свойство UpdateObject. 4.Двойным щелчком левой кнопки мыши по UpdateSql открыть окно генерации SQL. Выбрать поля, которые будут модифицироваться (все, кроме ключа). Нажать кнопку Generate SQL. 5.Query назначить следующие свойства: CachedUpdate (кэшированные изменения); RequestLive (возможность редактирования полученного набора данных); SQL. 6.Назначить событие OnUpdateRecord (DataSet: TDataSet; UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction), где DataSet – набор данных; UpdateKind – принимает следующие значения: ukModify - операция изменения, ukInsert - операция вставки, ukDelete - операция удаления; переменной UpdateAction присваивается одно из следующих значенияй: uaAbort, uaApplied, uaFail, uaRetry, uaSkip. Пример: UpdateSql1.Apply(UpdateKind); UpdateAction := uaApplied; 7.Поставить и обработать кнопки Добавления, Изменения, Удаления записи, а также кнопки Сохранить и Применить изменения. вот код: unit Unit1; Добавлено через 1 мин. И по поводу Назначить событие OnUpdateRecord (DataSet: TDataSet; UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction), где DataSet – набор данных; UpdateKind – принимает следующие значения: ukModify - операция изменения, ukInsert - операция вставки, ukDelete - операция удаления; переменной UpdateAction присваивается одно из следующих значенияй: uaAbort, uaApplied, uaFail, uaRetry, uaSkip. --я его тупа вставил в type и в поцедуры..наверное это не правильно? |
![]() ![]() |
dron4ik |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
я думал нужно сохранять.
Добавлено через 2 мин. щас попробую по твоему совету редактировать добавлять удалять данные. Добавлено через 10 мин. добавил новую запись..потом жму кнопку сохранить и выхожу с проги, обратно захожу доваленной записи нету. Добавлено через 7 мин. жму кнопку удалить запись а потом жму применить изменения то тогда из базы у даляется навсегда ..т.е. как надо. Добавлено через 7 мин. жму кнопку изменить..изменяю запись....жму потом кнопку применить изменения...выкл прогу обратно ее включаю..изменнения сохранились. Добавлено через 1 мин. насчет того что когда добавляешь запись не надо потом ничего нажимать..то ты не прав. Добавлено через 10 мин. жму кнопку добавить...добавляю запись..а потом жму кнопку применить изменения..выкл прогу..снова захожу и вижу что новые данные сохранились..но первичный ключ(т.е. социальный номер)---в нем пусто..хотя значения я занес..а кнопка сохранить ваще..не работает((( |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 21:18 |