Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добовление данных в таблицы. Через биндинг сёрс или дата сет? 
V
    Опции темы
Rapalex
Дата 10.5.2007, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: нет
Всего: 8



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

К примеру, хочю добавить пару строк в таблицы.

Делал я это через биндинг сёрс, и всё работало, а код не нравился, а щяс добовляю порядка 80 и не всё гладко получается.
А если добовлять прямо втаблицы дата сета (код получается симпотный) но в дата сете данные не обновляются, что делать?


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
tol05
Дата 10.5.2007, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 11
Всего: 170



DataSet.AcceptChanges() вызывал? Код можешь показать?


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Rapalex
Дата 10.5.2007, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: нет
Всего: 8



Да нет, не знал что вызывать, спс, теперь знаю.  smile 


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
Rapalex
Дата 11.5.2007, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: нет
Всего: 8



 smile  Я оказывается не так добовлял строки, всё заработало, как не странно и  без DataSet.AcceptChanges(), только ятак и не понял что эта функция делает. А она в паре с какойто другой работает?

А EndEdit а биндинг сёрса что делает? Она тоже в паре с какойто функцией работает?



--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
tol05
Дата 11.5.2007, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 11
Всего: 170



Дело в том, что каждая из строк в любой момент времени имеет конкретное состояние: неизмененная, измененная, добавленная, удаленная и т.д.
Так вот, вызовом DataSet.AcceptChanges() ты меняешь статусы этих строк - фиксируешь их.
Цитата

When you call AcceptChanges on the DataSet, any DataRow objects still in edit-mode end their edits successfully. The RowState property of each DataRow also changes; Added and Modified rows become Unchanged, and Deleted rows are removed.

Если его не вызывать, то статусы строк не изменятся и их можно будет проапдейтить в базу методом DataAdapter.Update() - при его вызове адаптер просматривает все строки и если их статус - не Unchanged, изменяет их в базе.
Но если ты его уже вызвал, апдейта не будет - адаптер не увидит измененных строк!
DataSet.AcceptChanges() обычно вызывают после апдейта базы.
EndEdit тоже фиксирует все изменения, но только те, что были сделаны от BeginEdit до EndEdit. AcceptChanges() - вообще все изменения строк (которые не имеют статуса Unchanged)


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Rapalex
Дата 14.5.2007, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: нет
Всего: 8



СПАСИБИЩЕ тебе огромное.

Земляк, работы много от того и не всегда топики красиво закрываю.

Это сообщение отредактировал(а) Rapalex - 14.5.2007, 10:14


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0624 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.