Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум_ИСРКЭС_Сусленкова.doc
Скачиваний:
273
Добавлен:
16.03.2015
Размер:
3.35 Mб
Скачать

Лабораторная работа № 11 – Самостоятельная работа по автономным и подключенным объектам

Цель работы: Закрепить знания о подключенных и автономных объектах, полученные в процессе выполнения предыдущих лабораторных работ.

Задание №1: В среде MS Visual Studio необходимо с помощью теоретического материала из лекций, теории по объекту TreeView (см. лабораторные работы 1 семестра по дереву) необходимо создать форму для работы с Готовой продукцией, изображенную на рисунке 29.

  1. Форма должна открываться из основного меню проекта (В главное меню добавьте пункт Склад  Готовая продукция)

  2. Форма работает с данными из 2 таблиц вашей БД – таблица Модель и таблица Готовая продукция

  3. Верхняя часть формы представляет собой компонент Дерево, узлы которого – это наименование существующих моделей, а св-во Tag узлов –это код модели.

Указание – Для заполнения дерева можно, например, сделать следующее:

  • Создать и выполнить объект SQLCommand с командой SELECT, извлекающей данные из таблицы Модель

  • В цикле While перебрать все строки результата выполнения команды (см. пример из лекции) и здесь же в цикле выполнить метод Add для формирования дерева.

  • И весь этот код поместить в событие Load формы.

Это компонент TreeView

Рисунок 29 –Форма для работы с готовой продукцией

  1. При нажатии на кнопку «Новая» в верхней части формы открывается новая форма, изображенная на рисунке 30, с помощью которой вы можете добавить записи в таблицу Модель.

Указание – работайте с объектом Command и запросом Insert.

Рисунок 30 –Форма для добавления моделей

  1. При нажатии на кнопку «Удалить» удаляется выделенный узел из дерева и строка из таблицы «Модель».

Указание – работайте объектом Command и запросом Delete.

  1. При нажатии на кнопку «Свойства» открывается форма, в которой отображаются все сведения о выбранной в дереве модели. Форма представлена на рисунке 31.

Указание – работайте с объектом Command и запросом Select.

Рисунок 31 – Форма для просмотра свойств моделей

  1. Нижняя часть формы представляет собой компонент DataGridView, в котором отображаются сведения из таблицы Готовая продукция. При выборе в верхней части формы (в дереве) какого-либо узла=модели, в нижней части формы отображается вся готовая продукция данной модели.

Указание – напишите обработчик на событие Select объекта дерево, Работайте с объектом DataSet и DataAdapter.

  1. Данная часть формы -это компонент Label, в котором отображается Код выбранной в дереве модели

Указание – напишите обработчик на событие Select объекта дерево, Работайте со свойством Text объекта label.

3. Технологии, использующиеся при выполнении лабораторных работ

Технологии, представленные в данном разделе, являются часто выполняемыми операциями при работе с основными объектами SQL Server Management Studio и MS Visual Studio. Список технологий представлен в таблице 1. Освоение этих операций поможет студентам при выполнении курсового проекта по дисциплине ИСРКЭС.

Таблица 1 – Список технологий

Наименование

Содержание

Стр

Технология 1 –

Запуск и подключение к локальному серверу MS SQL server

66

Технология 2 –

Создание новой БД на сервере MS SQL server

67

Технология 3 –

Создание первичного ключа в таблице

67

Технология 4 –

Создание поля счетчика в таблице

68

Технология 5 –

Создание связей между таблицами

68

Технология 6 –

Изменение контекста на необходимую БД

70

Технология 7 –

Добавление конфигурационного файла приложения

70

Технология 8 –

Добавление описания строки подключения в конфигурационный файл приложения

70

Технология 9 –

Создание экземпляра класса Connection

71

Технология 10 –

Извлечение параметров соединения из конфигурационного файла по имени строки соединения

71

Технология 11 –

Создание экземпляра класса Command

71

Технология 12 –

Задание текста запроса для объекта Command

71

Технология 13 –

Создание объекта Command с параметрами

72

Технология 14 –

Создание объекта Command, выполняющего хранимую процедуру

72

Технология 15 –

Открытие подключения к базе данных

72

Технология 16

Выполнение запроса, получающего единственное значение

72

Технология 17

Выполнение запроса, не возвращающего записей

72

Технология 18

Выполнение запроса, возвращающего набор записей

73

Технология 19

Добавление нового источника данных

73

Технология 20

Создание экземпляра класса DataSet

74

Технология 21

Создание экземпляра класса DataAdapter

74

Технология 22

Вызов метода Fill объекта DataAdapter

75

Технология 23

Вывод данных из объекта DataSet в окно сообщений

75

Технология 24

Добавление элементов в список ListBox

75

Технология 25

Задание строки подключения и команды Select для DataAdapter

75

Технология 26

Загрузка данных из объекта Dataset в DataGridView

76

Технология 27

Создание экземпляра объекта DataRow

76

Технология 28

Присвоение значений объекту DataColumn

76

Технология 29

Добавление строки к коллекции Rows таблицы Магазины

76

Технология 30

Создание первичного ключа, запись значения выделенной ячейки в переменную

76

Технология 31 –

Поиск строки для удаления по значению первичного ключа

77

Технология 32 –

Удаление строки из коллекции Rows таблицы Магазины

77

Технология 33 –

Создание экземпляра объекта SqlCommandBuilder

77

Технология 34 –

Вызов метода Update и проверка количества обновленных строк

77

Технология 1 – Запуск и подключение к локальному серверу MS SQL server

  1. В меню Пуск последовательно выберите пункты: Все программы Microsoft SQL Server 2005  Среда SQL Server Management Studio.

  2. В открывшемся диалогом окне «Соединение с сервером» (рисунок 32) выполните следующие настройки:

  • в раскрывающемся списке «тип сервера» выберите Database Engines;

  • в раскрывающемся списке «имя сервера» выберите требуемый сервер, имя должно совпадать с именем вашего компьютера. Если имя в списке отсутствует, его можно ввести в поле списка.

  • в раскрывающемся списке «проверка подлинности» следует выбрать метод аутентификации устанавливаемого соединения. (в нашем случае выберите «Аутентификация SQL Server)

  • в полях «имя входа» и «пароль» введите соответственно: Имя входа – sa, пароль – sq

Рисунок 32 – Соединение с сервером

Технология 2 – Создание новой БД на сервере MS SQL server

  1. Щелкнуть правой кнопкой мыши по контейнеру Database в Object Explorer и в контекстном меню выбрать New Database (Новая база). Откроется диалоговое окно New Database, изображенное на рисунке 33, в котором на закладке Общие

  • ввести имя создаваемой базы данных МММ_ВашеФИО

  • указать путь к Вашей папке для хранения файла БД и журнала БД (рисунок 33)

  • Остальные параметры пока оставим по умолчанию

Рисунок 33 – Задание места для хранения БД и журнала БД

На закладке Параметры

  • выбрать «Параметры сортировки» - Cyrillic_General_Bin. Начиная с версии SQL SERVER 2000, появилась возможность задавать параметры сортировки отдельно для каждой БД. Выбор того или иного способа упорядочивания становится необходимым при выборе кодовой страницы, отличной от англоязычной, или при важности регистра при работе с данными.

  • Для всех остальных параметров будут подставлены значения по умолчанию.

  1. В окне создания БД нажмите ОК.

Технология 3 – Создание первичного ключа в таблице

Для создания первичного ключа выделите столбец, который будет ключом и нажмите на панели инструментов кнопку «Первичный ключ» (рисунок 34)

Рисунок 34 – Создание первичного ключа

Технология 4 – Создание поля счетчика в таблице

  1. Для создания поля – счетчика выберите в обозревателе объектов ветвь Таблицы  Столбцы  Нужный столбецКонтекстное меню Изменить

  2. В появившемся окне для необходимого столбца в нижней части окна Свойства столбцов (рисунок 35), найдите свойство «Является идентифицирующим столбцом» и выберите ДА.

Рисунок 35 – Создание счетчика

Технология 5 – Создание связей между таблицами

  1. После создания всех таблиц предметной области в обозревателе объектов разверните узел БД МММ_ВашеФИО и выберите в списке в ветви «Диаграммы баз данных»  Создать диаграмму. В появившемся сообщении (рисунок 36) выберите «Да».

Рисунок 36 – Создание связи между таблицами

  1. Добавить на диаграмму все созданные таблицы.

  2. Создать между таблицами связи (в соответствии со схемой данных) методом «перетаскивания» полей из одной таблицы в другую. При создании связей указывать свойства каскадного обновления и удаления (рисунок 37)

Рисунок 37 – задание каскадного удаления и обновления

Технология 6 – Изменение контекста на необходимую БД

  1. Найдите в открытом окне среды SQL Server Management Studio раздел «Окно базы данных», изображенный на рисунке 38.

  2. С помощью изображенного на рисунке 38 поля со списком выберите применяемую в данный момент базу данных для выполнения запросов. По для пользователя Sa выбрана БД master. Если необходимо измените ее на свою БД МММ.

Рисунок 38 – Окно базы данных в среде SSMS

Технология 7 – Добавление конфигурационного файла приложения.

  1. В окне менеджера проектов «Solution Explorer» ПК по корню дерева проектов (по названию решения)

  2. В контекстном меню выбрать AddNew Itemзакладка GeneralApplication Configuration File

Технология 8 – Добавление описания строки подключения в конфигурационный файл приложения.

  1. В окне менеджера проектов «Solution Explorer» 2 раза ЛК по файлу конфигурации (app.config).

  2. В открывшемся окне файла конфигурации в любом месте между <configuration> …. </configuration> добавьте раздел описания строки подключения:

<connectionStrings>

<clear />

<add name="ПридумайтеИмяСтрокиПодключения" connectionString="Data Source= Задайте имя вашего сервера SQL; Initial Catalog=Задайте имя вашей БД на сервере; User ID=Задайте имя пользователя; Password=задайте пароль пользователя" providerName = "System.Data.SqlClient" />

</connectionStrings>

Технология 9 – Создание экземпляра класса Connection

  1. Запишите в строке кода:

Dim ЗадайтеИмяОбъектаConnection Аs New SqlConnection

Технология 10 – Извлечение параметров соединения из конфигурационного файла по имени строки соединения

  1. Для работы с классами конфигурационного файла подключите библиотеки для работы с конфигурацией. Для этого в главном меню VisualStudio выберите Project àAdd Referencesà System.Configuration ОК

  2. Добавьте в код формы ссылку на пространство имен: Imports System.Configuration

  3. Для извлечения строки соединения по имени, продолжайте добавлять код-обработчик кнопки «Добавить». Используйте следующий код для записи параметров соединения из конфигурац.файла в объект Connection:

Dim setting1 As ConnectionStringSettings = ConfigurationManager.ConnectionStrings("ЗадайтеЗдесьИмяСтрокиПодключенияИзФайлаКонфигурацииИзКоторой Вам НеобходимоПолучатьПараметры")

УкажитеИмяОбъектаConnection.ConnectionString = setting1.ConnectionString

Технология 11 – Создание экземпляра класса Command

  1. Запишите в строке кода:

Dim ЗадайтеИмяОбъектаCommand As New SqlCommand

ИмяОбъектаCommand.Connection = ИмяОбъектаConnection

ИмяОбъектаCommand.CommandType ={Выбрать CommandType.Text или CommandType.StoredProcedure}

Технология 12 – Задание текста запроса для объекта Command

  1. Для задания текста запроса для объекта Command используйте следующий код и операцию конкатенации текста (&), внимательно работайте с символами кавычка “ и апостроф ':

ИмяОбъектаCommand.CommandText = "insert into …………."

Технология 13 – Создание объекта Command с параметрами

  1. Для создания объекта Command с параметрами необходимо в тексте запроса указать параметры, добавить новый параметр в семейство Parameters объекта Command, указать тип, длину параметра, направление передачи данных и значение параметра:

ИмяОбъектаCommand.CommandText = "insert into … values (@param1,@param2,… ...)"

'Создание параметров и указание его значения

ИмяОбъектаCommand.Parameters.Add("@ИмяПараметра", Тип, длина (если необх.))

ИмяОбъектаCommand.Parameters("@ИмяПараметра ").Direction ={Выбрать ParameterDirection.Output илиParameterDirection.Input }

ИмяОбъектаCommand.Parameters("@ИмяПараметра ").Value = {указать значение параметра или элемент управления из которого должно браться это значение}

Технология 14 – Создание объекта Command, выполняющего хранимую процедуру

  1. Для создания экземпляра класса Command и задания его свойств используйте следующий код:

ИмяОбъектаCommand.commandType=CommandType.StoredProcedure

ИмяОбъектаCommand.CommandText=“Имя хранимой процедуры”

Технология 15 – Открытие подключения к базе данных

  1. Для открытия подключения к базе данных необходимо использовать метод Open объекта Connection.

  2. После окончания работы с подключением, его необходимо закрыть с помощью метода Close объекта Connection.

Технология 16 – Выполнение запроса, получающего единственное значение.

  1. Необходимо использовать метод ExecuteScalar (который возвращает значение типа Object) объекта Command.

Технология 17 – Выполнение запроса, не возвращающего записей.

  1. Необходимо использовать метод ExecuteNonQuery объекта Command. Объект SqICommand сообщает о результатах выполнения запроса с помощью значения, возвращаемого методом ExecuteNonQuery и определяющего количество обработанных записей.

Технология 18 – Выполнение запроса, возвращающего набор записей

  1. Необходимо использовать метод ExecuteReader объекта Command. Метод ExecuteReader возвращает объект типа DataReader, который позволяет просматривать различные строки и столбцы набора результатов в режиме только чтения в прямом направлении. При первом обращении к объекту DataReader, он должен быть «прочтен» с помощью метода Read

Dim ЗадайтеИмяОбъектаDataReader As SqlDataReader

ИмяОбъектаDataReader = ИмяОбъектаCommand.ExecuteReader()

While ИмяОбъектаDataReader.Read

‘ Выводим результат в какой-либо элемент управления

TextBox1.Text = ИмяОбъектаDataReader (“ЗадайтеИмяСтолбцаИзНабораДанных,КоторыйВамНеобходимоВывести")

End While

ИмяОбъектаDataReader.Close()

Технология 19 – Добавление нового источника данных

  1. Чтобы добавить новый источник данных, воспользуйтесь меню Data среды Microsoft Visual Studio.Выберите команду Add New Data Source для запуска мастера Data Source Configuration.

  1. В первом окне мастера, появится вопрос, какой тип источника данных необходимо создать. Выберите элемент Database и щелкните кнопку Next.

  2. Во втором окне мастера «Выбор подключения» выберите существующее или создайте новое подключение, для этого щелкните кнопку New Connection, и выберите Microsoft SQL Server.

  3. Третье окно. Как только вы укажете, что желаете подключиться к БД SQL Server, на экране по­явится диалоговое окно Add Connection. В поле Server Name укажите, что подключаетесь к платформе SQL Server Express, запушенной на текущем компьютере – для этого посмотрите (скопируйте) имя сервера SQL из среды Microsoft SQL Server Management Studio. Выберите переключатель Use SQL Server Authentication в окне Add Connection и введите имя пользователя и пароль для подключения к серверу (SA,sq). В области Connect to a database выберите из списка базу MMM_вашеФИО и нажмите ОК.

  4. В следующем (четвертом) диалоговом окне выберите Yes (Включить указание пароля в строку подключения) и нажмите Next

  5. После того как вы укажете всю информацию о соединении, отобразится пятое диалоговое окно, в котором вы должны выбрать, сохранять ли строку подключения в файле конфигурации приложения. Установите флажок Yes, save the connection string as, при этом среда Visual Studio сохранит строку подключения и имя, которое вы введете, в фай­ле конфигурации приложения для выполняемого проекта. Нажмите Next

  6. В шестом диалоговом окне отобразятся все доступные в БД таблицы, представления, хранимые процедуры и функции. Укажите необходимые столбцы необходимых таблиц и нажмите Finish.

Технология 20 – Создание экземпляра класса DataSet

  1. Запишите в строке кода:

Dim ЗадайтеИмяОбъектаDataSet As New DataSet

Технология 21 – Создание экземпляра класса DataAdapter

  1. Запишите в строке кода:

Dim ЗадайтеИмяОбъектаConnection As New SqlConnection

Dim setting1 As ConnectionStringSettings = ConfigurationManager.ConnectionStrings("ЗадайтеЗдесьИмяСтрокиПодключенияИзФайлаКонфигурацииИзКоторой Вам НеобходимоПолучатьПараметры")

ИмяОбъектаConnection.ConnectionString = setting1.ConnectionString

Dim strSQL As String

strSQL = "Задайте текст SQL-запроса на выборку названий из таблицы Магазины"

Dim ЗадайтеИмяОбъектаDataAdapter As New SqlDataAdapter(strSQL,

Con)

Указание – для работы с конфигурационным файлом необходимо подключить библиотеку Project àAdd Referencesà System.Configuration ОК, если она еще не подключена

Технология 22 – Вызов метода Fill объекта DataAdapter

  1. Запишите в строке кода:

ИмяПер-ойДатаАдаптер.Fill(ИмяПер-ойДатаСет)

Технология 23 – Вывод данных из объекта DataSet в окно сообщений

  1. Запишите в строке кода:

Dim R as Integer

R = ИмяПер-ойДатаАдаптер.Fill(ИмяПер-ойДатаСет)

if R>0 then

Dim row As DataRow

For Each row In ИмяПер-ойДатаСет.Tables(0).Rows

MsgBox(row("ИмяНеобходимогоСтолбца"))

Next row

End if

Технология 24 – Добавление элементов в список ListBox

  1. Для добавления в список новых элементов служит метод Add(). Формат вызова метода выглядит так:

ИмяСписка.Items.Add(“дoбaвляeмaя_cтpoкa”)

  1. Иногда требуется удалить из списка все элементы. Для этого можно воспользоваться методом Clear(): ИмяСписка.Сlеаг()

Технология 25 – Задание строки подключения и команды Select для DataAdapter

  1. Запишите в строке кода:

Dim ЗадайтеИмяОбъектаConnection As New SqlConnection

Dim setting1 As ConnectionStringSettings = ConfigurationManager.ConnectionStrings("ЗадайтеЗдесьИмяСтрокиПодключенияИзФайлаКонфигурацииИзКоторой Вам НеобходимоПолучатьПараметры")

ИмяОбъектаConnection.ConnectionString = setting1.ConnectionString

Dim strSQL As String

strSQL = "Задайте текст SQL-запроса на выборку всех данных из таблицы Магазины"

Dim ЗадайтеИмяОбъектаCommand As New SqlCommand(strSQL,ИмяОбъектаConnection)

ИмяОбъектаDataAdapter.SelectCommand = ИмяОбъектаCommand

Технология 26 – Загрузка данных из объекта Dataset в DataGridView

  1. Для того, чтобы задать источник данных для объекта DataGridView используется его свойство DataSource. Синтаксис:

DataGridView1.DataSource = ИмяОбъектаDataSet.Tables(НомерТаблицыВНаборе)

Примечание – Нумеруются все таблицы, которые вы загружали в DataSet. Нумерация таблиц начинается с 0.

Технология 27 – Создание экземпляра объекта DataRow

  1. Запишите в строке кода:

Dim ЗадайтеИмяОбъектаDataRow As DataRow = ИмяОбъектаDataSet.Tables(НомерТаблицыВНаборе).NewRow()

Технология 28 – Присвоение значений объекту DataColumn

  1. Запишите в строке кода:

ИмяОбъектаDataRow.Item(0) = TextBox1.Text

ИмяОбъектаDataRow.Item(1) = TextBox2.Text

И.т.д.

Технология 29 – Добавление строки к коллекции Rows таблицы Магазины

  1. Запишите в строке кода:

ИмяОбъектаDataSet.Tables(НомерТаблицыВНаборе).Rows.Add(ИмяОбъектаDataRow)

Технология 30 – Создание первичного ключа, запись значения выделенной ячейки в переменную

  1. Запишите в строке кода:

Dim ЗадайтеИмяМассиваПервичныхКлючей(1) As DataColumn

ИмяМассиваПервичныхКлючей (0) = ИмяОбъектаDataSet.Tables(НомерТаблицыВНаборе).Columns("код_магазина")

ИмяОбъектаDataSet.Tables(НомерТаблицыВНаборе).PrimaryKey = ИмяМассиваПервичныхКлючей

Dim ЗадайтеИмяПеременойДляХраненияЗначенияАктивнойЯчейки As String = ИмяDataGridView.CurrentRow.Cells("код_магазина").Value.ToString

Технология 31 – Поиск строки для удаления по значению первичного ключа

  1. Запишите в строке кода:

Dim ЗадайтеИмяПеременойАктивнойСтроки As DataRow = ИмяОбъектаDataSet.Tables(НомерТаблицыВНаборе).Rows.Find(ИмяПеременойДляХранения-ЗначенияАктивнойЯчейки)

Технология 32 – Удаление строки из коллекции Rows таблицы Магазины

  1. Запишите в строке кода:

ИмяПеременойАктивнойСтроки.Delete()

Технология 33 – Создание экземпляра объекта SqlCommandBuilder

  1. Запишите в строке кода:

Dim ЗадайтеИмяОбъектаCommandBuilder As New SqlCommanBuilder(ИмяОбъектаDataAdapter)

Технология 34 – Вызов метода Update и проверка количества обновленных строк

  1. Запишите в строке кода:

Dim ЗадайтеИмяПеременнойКоличестваОбновлСтрок As Integer = ИмяОбъектаDataAdapter.Update(ИмяОбъектаDataSet)

If ИмяПеременнойКоличестваОбновлСтрок > 0 Then

Создайте сообщение о успешном обновлении

End If