Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 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-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 22.04.05 10:03
Немного не так.
Нужно создать OleDbAdapter, заполнить у него свойства UpdateCommand, InsertCommand, DeleteCommand, и после этого вызвать метод Update.
Чтобы не мучаться с ручным заполнением этих свойств, можно воспользоваться классом CommandBuilder, он заполнит их на основе SelectCommand. Вот пример (правда тут не OleDb, а SQLClient используется, но это несущественно):

        Dim SQL As String = "Select id, login, password From CPUsers"
        Dim DA As New SqlDataAdapter(SQL, DB.Conn)
        Dim CB As New SqlCommandBuilder(DA)
        ;DA.UpdateCommand = CB.GetUpdateCommand
        ;DA.InsertCommand = CB.GetInsertCommand
        ;DA.DeleteCommand = CB.GetDeleteCommand

        ;DA.Update(DS, "CompressProxyUsers";)

Ответить

Номер ответа: 2
Автор ответа:
 Oleg



ICQ: 261844290 

Вопросов: 7
Ответов: 2
 Профиль | | #2 Добавлено: 22.04.05 16:53
Павел благодарю, я в инете ещё нашёл способ на сайте http://planet-source-code.com/
Зайди там много кода.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам