powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Обновление данных в TableAdapter
3 сообщений из 3, страница 1 из 1
Обновление данных в TableAdapter
    #38470965
Mablion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день,
Подскажите плиз.
Есть БД Access. Есть форма на которой размещен DataGridView. Подключаюсь к БД через привязку BindingSource.

Когда работаешь с TableAdapter с обычной таблицей.
При написании кода у TableAdapter присутствует метод Update.

Код: vbnet
1.
Me.Table1TableAdapter.Update(Me.DBDataSet.Table1)



Когда привязываешь TableAdapter не к таблице а к "Представлению", или создаешь новый TableAdapter состоящий из нескольких таблиц в Конструкторе данных. метод Update для TableAdapter становиться недоступен.

Использую этот метод для внесение всех изменений из BindingSource в Базу данных.
т.е.
на форме есть кнопки "Удалить" Новый" "Сохранить"(сохранить все изменения) "Отменить"

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
Private Sub cmdDell_Click(sender As System.Object, e As System.EventArgs) Handles cmdDell.Click
 
        Try
            Me.Validate()
            Me.CompanyBindingSource.RemoveCurrent()
 
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
 
    Private Sub cmdAddNew_Click(sender As System.Object, e As System.EventArgs) Handles cmdAddNew.Click
 
        Try
            Me.Validate()
            Me.CompanyBindingSource.AddNew()
 
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
 
    Private Sub cmdSave_Click(sender As System.Object, e As System.EventArgs) Handles cmdSave.Click
        Try
            Me.Validate()
            Me.CompanyBindingSource.EndEdit()
            Me.CompanyTableAdapter.Update(Me.DBDoverDataSet.company)
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
 
    Private Sub cmdEndChange_Click(sender As System.Object, e As System.EventArgs) Handles cmdEndChange.Click
 
        Me.CompanyTableAdapter.Fill(Me.DBDoverDataSet.company)
 
    End Sub



Как записать внесенные в BindingSource изменения?
Или как можно сохранять и отменять изменения произведенные в DataGrid?

Если Я что-то делаю неправильно посоветуйте пожалуйста ваш метод работы DB to DataGridView(full function) to BD.
...
Рейтинг: 0 / 0
Обновление данных в TableAdapter
    #38471466
Sergey S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Выгружал данные ридером в свою коллекцию (можно и датасет), показывал в гриде, затем при изменении данных в коллекции отдельными коммандами изменял данные в таблице (редактирование, добавление в отдельной форме). Если Изменение успешно - то делал соответствующее изменение в коллекции, хотя можно ее перечитывать заново для соответствующих быстро изменяющихся данных, но падает время. Плюс если данные грузятся долго то грузил в фоновом потоке, если их к тому-же много, то выдавал порциями, но это все сугубо индивидуально....
2. На подобие того как ты делал, но это просто чтоб побыстрее.
...
Рейтинг: 0 / 0
Обновление данных в TableAdapter
    #38471780
igr_ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mablion,

Для тех случаев, когда обновить данные требуется в одной таблице: Формирую для TableAdapter команды Insert,Update,Delete,Select (автоматом), потом заменяю Select на то, что мне нужно(хранимку/представление/запрос).

Чтобы отменить все изменения (до последнего вызова TableAdapter.Update), воспользуйтесь методом DataTable.RejectChanges()
Для справки
В DataTable хранятся первоначальные значения даже после сохранения изменений
Отслеживать добавленные,удаленные,измененные записи можно с помощью DataRow.RowState
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Обновление данных в TableAdapter
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]