Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема-05-06.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
993.31 Кб
Скачать
    1. Редактирование, проверка и сохранение данных в приложении

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

В Windows Forms архитектура привязки к данным занимается отправкой изменений из элементов управления с привязкой к данным в набор данных, поэтому не требуется в явном виде обновлять набор данных при помощи собственного кода. Наборы данных поддерживают множество версий строк данных для нахождения изначальных записей в источнике данных. Перед выполнением обновления источника данных, возможно, потребуется проверить отдельные строки.

Изменение данных в DataSet представляет собой процесс управления фактическими данными в отдельных объектах, которые составляют набор данных. Изменение данных в таблицах данных подобно изменению данных в таблице любой базы данных – процесс может включать вставку, обновление и удаление записей таблицы.

Кроме изменения фактических данных, также можно запрашивать DataTable для возвращения определенных строк данных, например, отдельных строк, определенных версий строк (исходные и предложенные), только измененных строк и строк, которые содержат ошибки.

    1. Разработка программного кода приложения

C первой формой будет связан код, приведенный на рис. 5.6.3-14.

Private Sub Button1_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Button1.Click

Dim d As DataRowCollection

Dim max, n As Integer

Dim t As String = ""

d = Database1DataSet1.ПропЧасыСтудента.Rows

rtr(t, max, d) ' обращение к процедуре модуля

TextBox1.Text = "Наибольшее число пропущенных часов=" _

& CStr(max) & vbCrLf & t

End Sub

Рис. 5.6.3-14

Реализация модуля Module1 представлена на рис. 5.6.3.15.

Module Module1

Public Sub rtr(ByRef t As String, _

ByRef max As Integer, ByRef d As DataRowCollection)

Dim learn() As String = {"информатика", "математика", "физика "}

Dim i, j, n As Integer

n = d.Count : max = -1000

For i = 0 To n - 1

For j = 5 To 7 '5,6,7- номера полей в записи базы данных

If d(i)(j) > max Then

max = d(i)(j)

End If

Next

Next

For i = 0 To n - 1

For j = 5 To 7

If d(i)(j) = max Then

t = t & d(i)(1) & ", Предмет " & learn(j - 5) & _

" , Студент " & d(i)(2) & " Группа " & d(i)(3)

End If

Next

Next

End Sub

End Module

Рис. 5.6.3-15

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]