![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
mal |
|
||||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
С добавлением данных разобрался.
А как быть если необходимо изменить данные в таблице abons, зная значение колонки abons_id? p.s. abons_id - первичный ключ. Добавлено через 13 минут и 36 секунд Наверно, так
но i - номер строки постоянно меняется. Это сообщение отредактировал(а) mal - 9.7.2007, 11:11 |
||||
|
|||||
emmanuil |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 380 Регистрация: 9.1.2007 Репутация: 1 Всего: 3 |
можно так
Добавлено через 8 минут и 44 секунды
Вот так например. Ищем значение и обновляем. Но лучше самому через запрос это сделать (мое мнение). Если интересует, скажи. Добавлено через 9 минут и 40 секунд dt - это ds.Tables["abons"], по запарке забыл поменять |
||||
|
|||||
mal |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
Большое спасибо за развернутый ответ.
![]() А как быть если при открытии формы я пишу
При этом ds.Tables["abons"].GetChanges(DataRowState.Modified) возвращает null. |
|||
|
||||
mal |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
Так работает ![]() Это сообщение отредактировал(а) mal - 10.7.2007, 09:28 |
|||
|
||||
emmanuil |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 380 Регистрация: 9.1.2007 Репутация: 1 Всего: 3 |
DataTable.GetChanges() - возвращает таблицу с изменными строками
DataRowState - это как раз тип изменения - обновление, дабавление... Если DataRowState не указать, то DataTable.GetChanges() вернет все изменения. null потому что данные только загрузились и они без изменений. а на счет этого - ab_fam.DataBindings.Add("Text", ds.Tables["abons"], "fam"); - то пожалуйста. Тут ты просто добавляешь связь с набором данных компоненту. Добавлено через 8 минут и 59 секунд а без ds.Tables["abons"].Rows[0].EndEdit(); не работает?
|
|||
|
||||
tol05 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 11 Всего: 170 |
просто нужно писать
или даже
GetChanges(DataRowState.Modified) и вообще все DataRowState.Modified, DataRowState.Added, DataRowState.Deleted при работе с DataAdapter-ом только путают. состояние строк нужно только для того, чтобы ты, в любой момент времени, внутри своей программы смого посмотреть, что это за строка, изменилась ли она, помечена ли уже на удаление или нет и т.д. А адаптер прекрасно эти состояния умеет читать сам и для каждой строки сам генерирует нужную команду. все это хорошо описани в вильямсоновской книге "Microsoft ADO.NET 2.0 для профессионалов.2006" на странице 291 ![]() -------------------- На хорошей работе и сны хорошие снятся. |
||||
|
|||||
emmanuil |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 380 Регистрация: 9.1.2007 Репутация: 1 Всего: 3 |
Если нужно только обновить, то без GetChanges(DataRowState.Modified) не обойтись. Иногда бывает, нужно провести только обновления, а потом после разных манипуляций добавление (к примеру). Если нужно просто провести все изменения в базу, то согласен, это не к чему.
Но вопрос был как обновить.
|
|||
|
||||
mal |
|
||||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
Код
не работает, если добавить связь ab_fam.DataBindings.Add("Text", ds.Tables["abons"], "fam"); А такой у меня работает.
Нашел на форуме p.s. Спасибо за интерес к теме! |
||||
|
|||||
0rac1e |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.2.2007 Репутация: нет Всего: нет |
А почему нельзя ?
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |