Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.07.2011, 10:25
nino nino вне форума
Прохожий
 
Регистрация: 04.07.2011
Сообщения: 9
Репутация: 10
Вопрос модификация записи в ClientDataSet

Добрый день! У меня возникла достаточно несложная на первый взгляд проблема, однако решение пока придумать не смог.

Итак, xml база данных, связывается через datasource и clientdataset.
от использования db* компонентов решил отказаться, в силу своей нелюбви к ним) так что пользуем обычные edit и combobox.
Суть проблемы: запись в таблицу добавляется нормально, однако при ее модификации создается новая запись, причем: clientdataset отображает только модифицированную запись, то есть внешне все выглядит как будто запись не добавилась, а просто изменилась, однако в самом xml файле остается старая запись и добавляется новая.
Изменение записи:
Код:
clientdataset1.Locate('fio', combobox1.text,[]);
clientdataset1.edit;
clientdataset1.fieldbyname('fio').AsString:=edit2.text ;
...
clientdataset1.SaveToFile(p+'data.xml');

что нужно сделать, чтобы запись изменялась, а не добавлялась в таблицу?
Ответить с цитированием
  #2  
Старый 04.07.2011, 19:38
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Код:
clientdataset1.edit;
clientdataset1.fieldbyname('fio').AsString:=edit2.text ;
clientdataset1.post;
И если у вас в сыойтвах clientdataset1 указано имя файла, то не нужно дополнительно вызывать:
Код:
clientdataset1.SaveToFile(p+'data.xml');
т.к. сохранение идет автоматом.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 04.07.2011, 19:48
nino nino вне форума
Прохожий
 
Регистрация: 04.07.2011
Сообщения: 9
Репутация: 10
По умолчанию

post у меня уже стояло раньше, убрал за ненадобностью, в clientdataset тоже имя файла не прописывал, во избежание непреднамеренных изменений, надежнее вручную сохранять..
ну неужели ни у кого нет идей по моему вопросу....
Ответить с цитированием
  #4  
Старый 05.07.2011, 14:09
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

а ключ уникальный у вас в таблице присутствует?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 05.07.2011, 14:12
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Цитата:
post у меня уже стояло раньше, убрал за ненадобностью
Оригинальное решение.

А вообще киньте структурку табли, тогда может что-то прояснится.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 05.07.2011, 15:34
nino nino вне форума
Прохожий
 
Регистрация: 04.07.2011
Сообщения: 9
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
а ключ уникальный у вас в таблице присутствует?
фио является уникальным, и поиск весь через фио, другого, исходя из задачи, не требуется

а post был действительно убран, может я конечно недопонимаю чего-то, но ведь всем полям таблицы присваиваются значения вручную, затем вручную же таблица сохраняется в файл и вручную из него подгружается. Зачем тогда нужен post?
Ответить с цитированием
  #7  
Старый 06.07.2011, 21:22
nino nino вне форума
Прохожий
 
Регистрация: 04.07.2011
Сообщения: 9
Репутация: 10
Печаль

ну неужели ни у кого никаких мыслей :\
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:59.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter