- •Часть 1.
- •1. Инструментарий среды Visual Studio 2008 по разработке приложений баз данных
- •1.1. Окно Источники данных
- •1.2. Окно Обозреватель баз данных
- •Создание локальной бд с помощью sql Server Compact 3.5 и Visual Studio
- •Общие сведения о локальных данных
- •Добавление в проект базы данных sql Server Compact 3.5
- •Создание новой базы данных sql Server Compact 3.5
- •Добавление существующей базы данных в проект
- •Создание новых таблиц в базе данных
- •Создание столбца с автоматической генерацией значения
- •Создание ограничения ссылочной целостности между таблицами базы данных
- •Заполнение таблиц данными
- •Подключение к данным в приложениях Windows Forms
- •Отображение данных в элементе управления DataGridView в Windows Forms
- •Отображение данных одной таблицы
- •Отображение данных из нескольких связанных таблиц
- •Создание общей таблицы
- •Создание таблицы подстановок
- •Связывание элементов управления Windows Forms с компонентом BindingSource с помощью конструктора
- •Для привязки элемента управления при разработке выполните следующие действия.
- •Переход между строками с помощью элемента управления BindingNavigator
- •Поиск заданной строки в таблице
- •Поиск строки со значением первичного ключа
- •Поиск строк по значениям столбцов
- •Диалоговое окно Построитель условий поиска
- •Агрегирование
- •Вычисляемые поля
- •Модификация строк в наборах данных
- •Добавление строк в наборы данных
- •Получение определенных версий объекта DataRow
- •Редактирование строк в объекте DataTable
- •Удаление строк из объекта DataTable
- •Сохранение данных в источнике данных
- •Чтобы внести изменения в набор данных вызовите метод AcceptChanges в DataSet, DataTable или DataRow:
- •Получение измененных записей
- •Дополнительные сведения по работе с базами данных в Visual Studio
- •Наборы данных в Visual Studio
- •Описание основных компонентов по работе с базами данных
- •Лабораторная работа №3 Создание базы данных «Автотранспорт»
- •Лабораторная работа №4 Агрегированные и вычисляемые поля
- •Лабораторная работа №5 Подстановочные, агрегированные и вычисляемые поля
- •Лабораторная работа №6 Проверочная
- •Лабораторная работа №7 Редактирование
- •Лабораторная работа №8 Поиск и сортировка данных
Модификация строк в наборах данных
Добавление строк в наборы данных
Изменение данных в DataSet представляет собой процесс управления фактическими данными в отдельных объектах DataTable, которые составляют набор данных. Изменение данных в таблицах данных подобно изменению данных в таблице любой базы данных — процесс может включать вставку, обновление и удаление записей таблицы.
Кроме изменения фактических данных, также можно запрашивать DataTable для возвращения определенных строк данных, например, отдельных строк, определенных версий строк (исходные и предложенные), только измененных строк и строк, которые содержат ошибки.
Добавление строк в объект DataTable
Чтобы добавить новые записи в набор данных:
Создайте новую строку данных и добавить ее в коллекцию DataRow (Rows) набора данных (DataTable):
DataRow имя_строки =Таблица.NewRow();
В результате будет создана пустая строка, содержащие точно такие же поля, как и прописанная в команде таблица.
Модифицируйте вновь добавленную строку, обращаясь к ее полям с помощью индекса:
Имя_строки[№ поля] = значение;
или имени столбца:
Имя_строки["поле"] = значение;
Нумерация полей начинается с нуля. Все поля новой строки следуют в том же порядке, что и поля таблицы, по схеме которой строка создана.
После вставки данных в новую строку для добавления строки в объект DataRowCollection примените метод Add:
Таблица.Rows.Add(имя_строки);
Примечание. Второй и третий шаг можно реализовать одной командой, если вызвать метод Add для добавления новой строки путем передачи массива значений с типом Object:
Таблица.Rows.Add(new Object[] {значение, значение, …})
Пример: Добавить значения из текстовых полей в таблицы person и worker с последующим обновлением на форме можно с помощью кода:
sotrudnicDataSet1.person.Rows.Add(new Object[] { textBox1.Text,
textBox2.Tex), textBox3.Text, textBox4.Text });
sotrudnicDataSet1.worker.Rows.Add(new Object[] { textBox2.Text,
textBox5.Text, textBox6.Text });
this.tableAdapterManager.UpdateAll(this.sotrudnicDataSet1);
allTableAdapter.Fill(this.sotrudnicDataSet1.All);
Результат:
Передача массива значений с типом Object в метод Add приводит к созданию новой строки в таблице и заданию значений столбцов этой строки, соответствующих значениям в массиве объектов. Обратите внимание, что значения в массиве сопоставляются со столбцами последовательно, с учетом порядка этих столбцов в таблице.
Внимание. Преобразование типов не требуется.
Того же самого результата можно было добиться с помощью кода:
DataRow rp = sotrudnicDataSet1.person.NewRow();
rp["pol"] = textBox4.Text;
rp["fio"] = textBox1.Text;
rp["data"] = Convert.ToDateTime(textBox3.Text);
rp["pasport"] = Convert.ToInt32(textBox2.Text);
DataRow rw = sotrudnicDataSet1.worker.NewRow();
rw["pasport"] = Convert.ToInt32(textBox2.Text);
rw["work"] = textBox5.Text;
rw["salary"] = Convert.ToInt32(textBox6.Text);
sotrudnicDataSet1.person.Rows.Add(rp);
sotrudnicDataSet1.worker.Rows.Add(rw);
this.tableAdapterManager.UpdateAll(this.sotrudnicDataSet1);
allTableAdapter.Fill(this.sotrudnicDataSet1.All);
