Vladimirvv

Редактирование БД

03.02.2011, 01:12. Показов 2930. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, вот создаю в Delphi 7 проект,

нужна работа с базами данных.

так вот использую следущие компоненты
1. ClientDataSet
2. DataSource
3. DBGrid
4. DBNavigator

в свойствах выставленно
DBNavigator1.DataSource = DataSource1
DBGrid1.DataSource = DataSource1
DataSource1.DataSet = ClientDataSet1
ClientDataSet1.FileName = D:\DB.csd
ClientDataSet1.Active = True


поля таблицы созданы, записи создаются и удаляются нормально,

вот в чем загвоздка, при попытке изменить содержимое конкретной записи (используя значения вводимые вручную в поле Edit), конкретного поля, вся запись перемещается в конец таблицы, те вместо первой позиции перемещается на последнюю, но содержимое записи изменяется.

запись перемещается после внесенных изменений, закрытия запущенной программы, и повторного открытия, те открытия файла бд

мне нужно чтоб запись оставалась на месте.

используется вот такой код обработчик события (клик по кнопке )
Delphi
1
2
3
4
5
 ClientDataSet1.RecNo:=1;
  c:= ClientDataSet1.Fields[2].AsInteger;
  ClientDataSet1.edit;
  ClientDataSet1.Fields[2].AsInteger:=c+strtoint(edit1.Text);
  ClientDataSet1.post;
возможно нужно использовать другие процедуры, а не edit и post?
или необходимо еще какие либо компоненты использовать?

или может что другое посоветуете использовать, мне возможность доступа к конкретной записи, по номеру записи очень устраивает, в условиях моей задачи.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.02.2011, 01:12
Ответы с готовыми решениями:

Запрет на ручное редактирование и разрешение на программное редактирование
Добрый день, коллеги. Вопрос следующий. Возможно ли инструментами VBA установить запрет на ручное редактирование данных в книге Excel, но...

редактирование в 1с 8.1
привет всем. подскажите пожалуйста. у меня конфигурация под 1с 8.1, мне нужно её отредактировать, но она заблокирована для редактирования....

Редактирование БД
Суть проблемы (Есть бд (student) и 3 столбца("id" 'name' 'group') вот в 4 столбце будет кнопка или сылка, что бы при нажатии на нее, мы...

2
1 / 1 / 0
Регистрация: 15.01.2011
Сообщений: 13
03.02.2011, 08:30
А зачем, имея dbNavigator, делать обработку изменения строки по кнопке?
Ведь он сам обрабатывает изменения, если ваш запрос ReadOnly = False?
Тогда ничего не сдвигается при update

Добавлено через 1 час 7 минут
Попробовала у себя сделать, ничего не сдвигается, только указатель строки перескакивает на первую, но это можно командой locate наверное исправить.

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
OracleDataSet1.edit;
OracleDataSet1.FieldByName('percent_tax' ).asfloat:=OracleDataSet1.FieldByName('p ercent_tax').asfloat+strtoint(Edit1.text );
OracleSession1.Commit;
OracleDataSet1.refresh;
end;
0
Vladimirvv
03.02.2011, 14:56
дб навигатор, для быстрого редактирования по ходу написания кода,

он в итоге не нужен

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

я не говорю что я супер программист))) я только немного разбираюсь)))

с оракл не работал вообще, попробую найти аналог этим процедурам.

Добавлено через 1 час 55 минут
проблема решается только если перебирать все записи используя цикл, и обновлять хотябы одно поле в каждой из записей,

если кто подскажет более рациональное решение буду благодарен,

конечно у меня таблица не большая 21 запись по 25 полей, но все же...
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.02.2011, 14:56
Помогаю со студенческими работами здесь

Редактирование бд
Имеется 2 таблицы БД (Firebird) в которых есть общий столбец. Есть форма на которой я поставил комбобокс и грид. Значения комбобокса я беру...

редактирование АК
А где указывается, что пользователь может редактировать записи в АК. По Default стоит автор, но они не могут редактировать свои записи....

редактирование Id
Проблема следующего характера, в документе пользователя был ошибочно прописан домен. Я ее криво косо подправил но теперь в id остался...

редактирование
Здравствуйте, пытаюсь сделать редактирование новости, что то не получается. $id = intval($_GET); $Select = mysql_query("SELECT *...

редактирование бд
<?php if (!isset($id)) { $result = mysql_query("SELECT id,title FROM lessons"); $myrow =...


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

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

Новые блоги и статьи
Интеграция Hangfire с RabbitMQ в проектах C#.NET
stackOverflow 18.04.2025
Разработка современных . NET-приложений часто требует выполнения задач "за кулисами". Это может быть отправка email-уведомлений, генерация отчётов, обработка загруженных файлов или синхронизация. . .
Построение эффективных запросов в микросервисной архитектуре: Стратегии и практики
ArchitectMsa 18.04.2025
Микросервисная архитектура принесла с собой много преимуществ — возможность независимого масштабирования сервисов, технологическую гибкость и четкое разграничение ответственности. Но как часто бывает. . .
Префабы в Unity: Использование, хранение, управление
GameUnited 18.04.2025
Префабы — один из краеугольных элементов разработки игр в Unity, представляющий собой шаблоны объектов, которые можно многократно использовать в различных сценах. Они позволяют создавать составные. . .
RabbitMQ как шина данных в интеграционных решениях на C# (с MassTransit)
stackOverflow 18.04.2025
Современный бизнес опирается на множество специализированных программных систем, каждая из которых заточена под решение конкретных задач. CRM управляет отношениями с клиентами, ERP контролирует. . .
Типы в TypeScript
run.dev 18.04.2025
TypeScript представляет собой мощное расширение JavaScript, которое добавляет статическую типизацию в этот динамический язык. В JavaScript, где переменная может свободно менять тип в процессе. . .
Погружение в Kafka: Концепции и примеры на C# с ASP.NET Core
stackOverflow 18.04.2025
Apache Kafka изменила подход к обработке данных в распределенных системах. Эта платформа потоковой передачи данных выходит далеко за рамки обычной шины сообщений, предлагая мощные возможности,. . .
Коммуникация в реальном времени с SignalR в C# на примере создания чата
UnmanagedCoder 17.04.2025
Современный веб стремительно эволюционирует от статичных страниц к динамичным приложениям, где пользователи ожидают мгновенной реакции на свои действия. Представим, что вы отправляете сообщение. . .
Реализация CQRS с MediatR на C# .NET
stackOverflow 17.04.2025
Современная разработка программного обеспечения постоянно ищет пути повышения эффективности организации кода. Архитектурные паттерны появляются, эволюционируют, и те, что проявляют свою. . .
Verilog и интеллектуальная собственность - "глазами" обученной LM модели.
Hrethgir 17.04.2025
В сети встречаются участники, заявляющие что код на Verilog ни о чём не говорит. Но вот патентная практика на самом деле показывает обратное ими утверждаемому. То-есть код на Verilog включают в. . .
Свап-файл дополнительно к разделу (если вдруг не хватает или не создан)
jigi33 17.04.2025
ПОДКЛЮЧЕНИЕ ДОПОЛНИТЕЛЬНОГО SWAP ПРОСТРАНСТВА, Т. О. , РАСШИРЕНИЕ ЕГО РАЗМЕРА В Linux можно использовать как раздел подкачки (swap), так и файл подкачки (swap-файл). Чтобы создать swap-файл вместо. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru