Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Refresh
|
|||
|---|---|---|---|
|
#18+
Как перезагрузить данные из базы в датасет не применяя метода DataSet.Clear()? Просто если убрать .Clear() то при .Merge() строки которых нет в выборке все равно остаются в DataSet-е. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 16:40 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
Пожалуй надо описать поподробнее в чем проблема т.к. пока не уловливается связь между базой данных и методом Merge(). А лучше привидите код. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2004, 20:13 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
В принципе .Merge() тут особо непричем... Вот есть такой метод к примеру... private void Refresh(TypedDataSet ds) { this.datAdapt.Fill(ds); } До выполнения метода в датасете есть 5-ть строк. .Fill() датаадаптера возвращает всего три строки, по ключам происходит обновление записей, но лишнии строчки в датасете не удалятся... их как было 5-ть так пять и останется не зависимо от того что в выборке метода .Fill() их вернулось всего три. А мне нужно не делая .Clear() удалить лишние строчки, желательно без циклов... Я просто пробовал с .Merge-ем сделать у меня не получилось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 10:26 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
ИМХО в таком случае без clear никак. Да и вообще обновляют DataSet из БД во избежании различных проблем (в том числе и описанной вами) всегда с использованием clear. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 10:40 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
А чем clear не устраивает? То что теряется позиция курсора? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 10:40 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
Paul ChabinskyДо выполнения метода в датасете есть 5-ть строк Надеюсь имеется ввиду, что: DataSet.Tables.Count == 1 && DataSet.Tables[0].Rows.Count == 5 тогда можно так избавиться от DataSet.Clear() Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 10:53 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
2 Por ИМХО лучше Clear() чем создавать новый DataSet. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 11:08 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
2Sa Да меня неустраивает именно то что теряеца позиционирование строк... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 11:19 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
Имеется ввиду позиционирование на строке? М.б. его где-то запоминать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 12:08 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
hDrummer М.б. его где-то запоминать? Да надо запоминать перед Clear(). Я уже писал здесь рецепт как это все делается. Только запоминать надо не позицию курсора, а значение первичного ключа, той записи на которой спозиционирован курсор. 2 Paul Chabinsky Что у вас является первичным ключом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 12:44 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
2Sa Дело в том что у меня в датасете таблица не одна, и мне надо сохронять позиции из всех таблиц... я думал думал, как лучше такой метод написать, так и не придумал... Не получилось потому, что взять текущую строку без БиндингМанаджерБейз-а свойствами только самого датасета не зя... Вот и получается что чтоб такой метод сделать мне надо как еще и биндинги передавать в метод который делает рефрешь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 14:41 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
Дело ведь еще и в том что иногда датамембер выглядит не как имя таблицы, а как релейшен... и чтоб мне все биндинги узнать мне нужно у формы на которой контролы лежат их спросить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 14:43 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
Paul Chabinsky мне надо сохронять позиции из всех таблиц... я думал думал, как лучше такой метод написать, так и не придумал... Не получилось потому, что взять текущую строку без БиндингМанаджерБейз-а свойствами только самого датасета не зя... Вот и получается что чтоб такой метод сделать мне надо как еще и биндинги передавать в метод который делает рефрешь... Ну придется передавать биндинги думаю не проблема. А необходимость в полном Refresh вашего датасета почему возникает? Может можно обойтись без него? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 14:50 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
2Sa полный рефреш обязателен, т.к. я хочу чтоб два пользователя могли одновременно редактировать одну и ту же детайл часть сущьности... Я вот еще спросить хотел, Вы советуете по ключу позишн устанавливать, а если строчка с таким ключем была удаленна? И еще, может есть возможность из самого объекта датасета получить информацию о том какие контролы к нему прибинденны и каким датамембером? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 17:00 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
Paul Chabinsky Вы советуете по ключу позишн устанавливать, а если строчка с таким ключем была удаленна? Если удалена то и позиционировать в таком случае не надо это мои соображения. Хотя вы можете любую логику прописать, например позиционировать курсор на строку с ближайшим значением первичного ключа, решать вам. Paul Chabinsky И еще, может есть возможность из самого объекта датасета получить информацию о том какие контролы к нему прибинденны и каким датамембером? Я такую возможность не слышал, и по определению ее быть не должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 07:56 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
В данном случае выкручиваемся простой проверкой свойства Datasource у всех контролов на форме (или контролов интересуещего нас типа), благо реализуеться это в несколько строчек кода _________________________________________________ Легче написать не правильную программу чем понять правильную (С) Alan Perlis ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 10:56 |
|
||
|
Refresh
|
|||
|---|---|---|---|
|
#18+
Ну вообще мы же знаем что на форме используем (сами ведь делаем ) ИМХО можно и у формы BindingContext спросить. Но все зависит от приложения, конкретики пока нет. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 11:03 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32603127&tid=1438813]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 395ms |

| 0 / 0 |
