Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОГ_ИНЖ / Лекция 9.ppt
Скачиваний:
86
Добавлен:
16.03.2015
Размер:
465.41 Кб
Скачать

2. Объект CommandBuilder

53

2. Объект SqICommandBuilder для генерирования логики

Чтобы автоматически создать инструкции SQL для DataAdapter,

сначала

1)следует вручную задать его свойство

SelectCommand,

2)создать объект CommandBuilder с помощью конструктора New и в

качестве аргумента указать

DataAdapter.

54

условия:

1.запрос возвращает данные только из одной таблицы;

2.на таблице определен первичный ключ;

3.первичный ключ есть в результатах вашего запроса.

4.Логика автоматического создания команд дает сбой при наличии в именах столбцов или таблиц любых специальных символов, например пробелов, точек, двойных кавычек или других символов, отличных от алфавитно-цифровых, даже отделенных квадратными скобками.

55

Код

Dim Testda As New OleDbDataAdapter("Select * from Animals", connectionString)

Dim cmdBldr As New OleDbCommandBuilder(Testda)

56

Пример

DataGridView

 

 

 

 

 

 

 

Public dt As New DataTable Public da As OleDbDataAdapter

Получить данные

Dim strConn, strSQL As String strConn = "Data Source=…"

strSQL = "SELECT * FROM модель"

da = New OleDbDataAdapter(strSQL, strConn) da.Fill(dt)

DataGridView1.DataSource = dt

58

Изменение данных

Dim rowInQuestion As DataRow rowInQuestion = dt.Rows(0)

rowInQuestion("название_модели") = "Модель0007" rowInQuestion = dt.Rows(2)

rowInQuestion.Delete()

dt.Rows.Add(rowInQuestion)

59

Обратная запись в БД

Dim cmbldr As OleDbCommandBuilder = New OleDbCommandBuilder(da)

da.UpdateCommand = cmbldr.GetUpdateCommand() da.InsertCommand = cmbldr.GetInsertCommand() da.DeleteCommand = cmbldr.GetDeleteCommand()

da.Update(dt)

60

КОНЕЦ ЛЕКЦИИ!!

61

Соседние файлы в папке ПРОГ_ИНЖ