Страница: 1 |
Страница: 1 |
Вопрос: Как обновить данные в DataSet.Tables("ИмяТабл
Добавлено: 20.04.05 20:43
Автор вопроса: Oleg | ICQ: 261844290
Я открыл mdb базу код:
Dim strSQL As String
Dim strConn As String
Dim dinamicDB As OleDb.OleDbConnection
Dim DBAdapter As OleDb.OleDbDataAdapter
Dim DS As DataSet
DBAdapter = New OleDb.OleDbDataAdapter
DS = New DataSet
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Klient__.mdb"
strSQL = "SELECT * FROM Klient"
dinamicDB = New OleDb.OleDbConnection(strConn)
DBAdapter.SelectCommand = New OleDb.OleDbCommand(strSQL, dinamicDB)
dinamicDB.Open()
DBAdapter.Fill(DS, "Klient")
Теперь через DS.Tables("Klient").Rows() получаю данные и заполняю грид.
После внесения изменений в грид а хочу обновить mdb файл.
Я думаю пройтись по гриду (грид хранит id клиентов), находить строки в DataRow = DS.Tables("Klient").Select("id=" + idКлиента).
Если мои рассуждения верны то подскажите как это довести до конца.
Если нет то как это нужно сделать?
Может вопрос корявый я начинающий.
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #1
Добавлено: 22.04.05 10:03
Немного не так.
Нужно создать OleDbAdapter, заполнить у него свойства UpdateCommand, InsertCommand, DeleteCommand, и после этого вызвать метод Update.
Чтобы не мучаться с ручным заполнением этих свойств, можно воспользоваться классом CommandBuilder, он заполнит их на основе SelectCommand. Вот пример (правда тут не OleDb, а SQLClient используется, но это несущественно):
Dim DA As New SqlDataAdapter(SQL, DB.Conn)
Dim CB As New SqlCommandBuilder(DA)
 A.UpdateCommand = CB.GetUpdateCommand
 A.InsertCommand = CB.GetInsertCommand
 A.DeleteCommand = CB.GetDeleteCommand
 A.Update(DS, "CompressProxyUsers"
Номер ответа: 2
Автор ответа:
Oleg
ICQ: 261844290
Вопросов: 7
Ответов: 2
Профиль | | #2
Добавлено: 22.04.05 16:53
Павел благодарю, я в инете ещё нашёл способ на сайте http://planet-source-code.com/
Зайди там много кода.