![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день! У меня возникла достаточно несложная на первый взгляд проблема, однако решение пока придумать не смог.
Итак, 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
|
||||
|
||||
|
Код:
clientdataset1.edit;
clientdataset1.fieldbyname('fio').AsString:=edit2.text ;
clientdataset1.post;Код:
clientdataset1.SaveToFile(p+'data.xml'); |
|
#3
|
|||
|
|||
|
post у меня уже стояло раньше, убрал за ненадобностью, в clientdataset тоже имя файла не прописывал, во избежание непреднамеренных изменений, надежнее вручную сохранять..
ну неужели ни у кого нет идей по моему вопросу.... |
|
#4
|
||||
|
||||
|
а ключ уникальный у вас в таблице присутствует?
|
|
#5
|
||||
|
||||
|
Цитата:
А вообще киньте структурку табли, тогда может что-то прояснится. |
|
#6
|
|||
|
|||
|
Цитата:
а post был действительно убран, может я конечно недопонимаю чего-то, но ведь всем полям таблицы присваиваются значения вручную, затем вручную же таблица сохраняется в файл и вручную из него подгружается. Зачем тогда нужен post? |
|
#7
|
|||
|
|||
|
ну неужели ни у кого никаких мыслей :\
|