- •Внимание !!!!!! студенты заочного отделения !!!!
- •Инновационные технологии в подготовке будущих специалистов прикладной информатики
- •1. Теоретические основы практикума Технология ado.Net
- •Базовые классы подсоединенных объектов
- •Базовые классы автономных объектов
- •2. Практикум Лабораторная работа № 1 - Создание базы данных в средеMssqlServerManagement
- •Лабораторная работа № 2 - Резервное копирование и восстановление базы данных
- •Лабораторная работа № 3 - Разработка формы для работы с данными в средеVsualStudioбез кода
- •Лабораторная работа № 4 – СозданиеSql- запросов в среде sql Server Management Studio
- •Лабораторная работа № 5 - Программирование с помощью встроенного языка transact sql в Microsoft Sql Server
- •Лабораторная работа № 6 - Разработка формы работы с магазинами с использованием объектаCommand
- •Лабораторная работа № 7 - Создание, удаление и редактирование данных в отсоединенной среде
- •Лабораторная работа № 8 - Быстрое создание пользовательского интерфейса посредством связывания с данными
- •Лабораторная работа № 9 - Безопасность вMssqlServer
- •Лабораторная работа № 10 - Создание отчетных форм для баз данных средствамиMsVisualStudio 2008
- •Лабораторная работа № 11 – Самостоятельная работа по автономным и подключенным объектам
- •3. Технологии, использующиеся при выполнении лабораторных работ
- •Список литературы
- •Приложение 1
Лабораторная работа № 11 – Самостоятельная работа по автономным и подключенным объектам
Цель работы: Закрепить знания о подключенных и автономных объектах, полученные в процессе выполнения предыдущих лабораторных работ.
Задание №1: В среде MS Visual Studio необходимо с помощью теоретического материала из лекций, теории по объекту TreeView (см. лабораторные работы 1 семестра по дереву) необходимо создать форму для работы с Готовой продукцией, изображенную на рисунке 29.
Форма должна открываться из основного меню проекта (В главное меню добавьте пункт Склад Готовая продукция)
Форма работает с данными из 2 таблиц вашей БД – таблица Модель и таблица Готовая продукция
Верхняя часть формы представляет собой компонент Дерево, узлы которого – это наименование существующих моделей, а св-во Tag узлов –это код модели.
Указание – Для заполнения дерева можно, например, сделать следующее:
Создать и выполнить объект SQLCommand с командой SELECT, извлекающей данные из таблицы Модель
В цикле While перебрать все строки результата выполнения команды (см. пример из лекции) и здесь же в цикле выполнить метод Add для формирования дерева.
И весь этот код поместить в событие Load формы.
Это
компонент TreeView
Рисунок 29 –Форма для работы с готовой продукцией
При нажатии на кнопку «Новая» в верхней части формы открывается новая форма, изображенная на рисунке 30, с помощью которой вы можете добавить записи в таблицу Модель.
Указание – работайте с объектом Command и запросом Insert.
Рисунок 30 –Форма для добавления моделей
При нажатии на кнопку «Удалить» удаляется выделенный узел из дерева и строка из таблицы «Модель».
Указание – работайте объектом Command и запросом Delete.
При нажатии на кнопку «Свойства» открывается форма, в которой отображаются все сведения о выбранной в дереве модели. Форма представлена на рисунке 31.
Указание – работайте с объектом Command и запросом Select.
Рисунок 31 – Форма для просмотра свойств моделей
Нижняя часть формы представляет собой компонент DataGridView, в котором отображаются сведения из таблицы Готовая продукция. При выборе в верхней части формы (в дереве) какого-либо узла=модели, в нижней части формы отображается вся готовая продукция данной модели.
Указание – напишите обработчик на событие Select объекта дерево, Работайте с объектом DataSet и DataAdapter.
Данная часть формы -это компонент 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
В меню Пуск последовательно выберите пункты: Все программы Microsoft SQL Server 2005 Среда SQL Server Management Studio.
В открывшемся диалогом окне «Соединение с сервером» (рисунок 32) выполните следующие настройки:
в раскрывающемся списке «тип сервера» выберите Database Engines;
в раскрывающемся списке «имя сервера» выберите требуемый сервер, имя должно совпадать с именем вашего компьютера. Если имя в списке отсутствует, его можно ввести в поле списка.
в раскрывающемся списке «проверка подлинности» следует выбрать метод аутентификации устанавливаемого соединения. (в нашем случае выберите «Аутентификация SQL Server)
в полях «имя входа» и «пароль» введите соответственно: Имя входа – sa, пароль – sq
Рисунок 32 – Соединение с сервером
Технология 2 – Создание новой БД на сервере MS SQL server
Щелкнуть правой кнопкой мыши по контейнеру Database в Object Explorer и в контекстном меню выбрать New Database (Новая база). Откроется диалоговое окно New Database, изображенное на рисунке 33, в котором на закладке Общие
ввести имя создаваемой базы данных МММ_ВашеФИО
указать путь к Вашей папке для хранения файла БД и журнала БД (рисунок 33)
Остальные параметры пока оставим по умолчанию
Рисунок 33 – Задание места для хранения БД и журнала БД
На закладке Параметры
выбрать «Параметры сортировки» - Cyrillic_General_Bin. Начиная с версии SQL SERVER 2000, появилась возможность задавать параметры сортировки отдельно для каждой БД. Выбор того или иного способа упорядочивания становится необходимым при выборе кодовой страницы, отличной от англоязычной, или при важности регистра при работе с данными.
Для всех остальных параметров будут подставлены значения по умолчанию.
В окне создания БД нажмите ОК.
Технология 3 – Создание первичного ключа в таблице
Для создания первичного ключа выделите столбец, который будет ключом и нажмите на панели инструментов кнопку «Первичный ключ» (рисунок 34)
Рисунок 34 – Создание первичного ключа
Технология 4 – Создание поля счетчика в таблице
Для создания поля – счетчика выберите в обозревателе объектов ветвь Таблицы Столбцы Нужный столбецКонтекстное меню Изменить
В появившемся окне для необходимого столбца в нижней части окна Свойства столбцов (рисунок 35), найдите свойство «Является идентифицирующим столбцом» и выберите ДА.
Рисунок 35 – Создание счетчика
Технология 5 – Создание связей между таблицами
После создания всех таблиц предметной области в обозревателе объектов разверните узел БД МММ_ВашеФИО и выберите в списке в ветви «Диаграммы баз данных» Создать диаграмму. В появившемся сообщении (рисунок 36) выберите «Да».
Рисунок 36 – Создание связи между таблицами
Добавить на диаграмму все созданные таблицы.
Создать между таблицами связи (в соответствии со схемой данных) методом «перетаскивания» полей из одной таблицы в другую. При создании связей указывать свойства каскадного обновления и удаления (рисунок 37)
Рисунок 37 – задание каскадного удаления и обновления
Технология 6 – Изменение контекста на необходимую БД
Найдите в открытом окне среды SQL Server Management Studio раздел «Окно базы данных», изображенный на рисунке 38.
С помощью изображенного на рисунке 38 поля со списком выберите применяемую в данный момент базу данных для выполнения запросов. По для пользователя Sa выбрана БД master. Если необходимо измените ее на свою БД МММ.
Рисунок 38 – Окно базы данных в среде SSMS
Технология 7 – Добавление конфигурационного файла приложения.
В окне менеджера проектов «Solution Explorer» ПК по корню дерева проектов (по названию решения)
В контекстном меню выбрать AddNew Itemзакладка GeneralApplication Configuration File
Технология 8 – Добавление описания строки подключения в конфигурационный файл приложения.
В окне менеджера проектов «Solution Explorer» 2 раза ЛК по файлу конфигурации (app.config).
В открывшемся окне файла конфигурации в любом месте между <configuration> …. </configuration> добавьте раздел описания строки подключения:
<connectionStrings>
<clear />
<add name="ПридумайтеИмяСтрокиПодключения" connectionString="Data Source= Задайте имя вашего сервера SQL; Initial Catalog=Задайте имя вашей БД на сервере; User ID=Задайте имя пользователя; Password=задайте пароль пользователя" providerName = "System.Data.SqlClient" />
</connectionStrings>
Технология 9 – Создание экземпляра класса Connection
Запишите в строке кода:
Dim ЗадайтеИмяОбъектаConnection Аs New SqlConnection
Технология 10 – Извлечение параметров соединения из конфигурационного файла по имени строки соединения
Для работы с классами конфигурационного файла подключите библиотеки для работы с конфигурацией. Для этого в главном меню VisualStudio выберите Project àAdd Referencesà System.Configuration ОК
Добавьте в код формы ссылку на пространство имен: Imports System.Configuration
Для извлечения строки соединения по имени, продолжайте добавлять код-обработчик кнопки «Добавить». Используйте следующий код для записи параметров соединения из конфигурац.файла в объект Connection:
Dim setting1 As ConnectionStringSettings = ConfigurationManager.ConnectionStrings("ЗадайтеЗдесьИмяСтрокиПодключенияИзФайлаКонфигурацииИзКоторой Вам НеобходимоПолучатьПараметры")
УкажитеИмяОбъектаConnection.ConnectionString = setting1.ConnectionString
Технология 11 – Создание экземпляра класса Command
Запишите в строке кода:
Dim ЗадайтеИмяОбъектаCommand As New SqlCommand
ИмяОбъектаCommand.Connection = ИмяОбъектаConnection
ИмяОбъектаCommand.CommandType ={Выбрать CommandType.Text или CommandType.StoredProcedure}
Технология 12 – Задание текста запроса для объекта Command
Для задания текста запроса для объекта Command используйте следующий код и операцию конкатенации текста (&), внимательно работайте с символами кавычка “ и апостроф ':
ИмяОбъектаCommand.CommandText = "insert into …………."
Технология 13 – Создание объекта Command с параметрами
Для создания объекта 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, выполняющего хранимую процедуру
Для создания экземпляра класса Command и задания его свойств используйте следующий код:
ИмяОбъектаCommand.commandType=CommandType.StoredProcedure
ИмяОбъектаCommand.CommandText=“Имя хранимой процедуры”
Технология 15 – Открытие подключения к базе данных
Для открытия подключения к базе данных необходимо использовать метод Open объекта Connection.
После окончания работы с подключением, его необходимо закрыть с помощью метода Close объекта Connection.
Технология 16 – Выполнение запроса, получающего единственное значение.
Необходимо использовать метод ExecuteScalar (который возвращает значение типа Object) объекта Command.
Технология 17 – Выполнение запроса, не возвращающего записей.
Необходимо использовать метод ExecuteNonQuery объекта Command. Объект SqICommand сообщает о результатах выполнения запроса с помощью значения, возвращаемого методом ExecuteNonQuery и определяющего количество обработанных записей.
Технология 18 – Выполнение запроса, возвращающего набор записей
Необходимо использовать метод ExecuteReader объекта Command. Метод ExecuteReader возвращает объект типа DataReader, который позволяет просматривать различные строки и столбцы набора результатов в режиме только чтения в прямом направлении. При первом обращении к объекту DataReader, он должен быть «прочтен» с помощью метода Read
Dim ЗадайтеИмяОбъектаDataReader As SqlDataReader
ИмяОбъектаDataReader = ИмяОбъектаCommand.ExecuteReader()
While ИмяОбъектаDataReader.Read
‘ Выводим результат в какой-либо элемент управления
TextBox1.Text = ИмяОбъектаDataReader (“ЗадайтеИмяСтолбцаИзНабораДанных,КоторыйВамНеобходимоВывести")
End While
ИмяОбъектаDataReader.Close()
Технология 19 – Добавление нового источника данных
Чтобы добавить новый источник данных, воспользуйтесь меню Data среды Microsoft Visual Studio.Выберите команду Add New Data Source для запуска мастера Data Source Configuration.
В первом окне мастера, появится вопрос, какой тип источника данных необходимо создать. Выберите элемент Database и щелкните кнопку Next.
Во втором окне мастера «Выбор подключения» выберите существующее или создайте новое подключение, для этого щелкните кнопку New Connection, и выберите Microsoft SQL Server.
Третье окно. Как только вы укажете, что желаете подключиться к БД 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_вашеФИО и нажмите ОК.
В следующем (четвертом) диалоговом окне выберите Yes (Включить указание пароля в строку подключения) и нажмите Next
После того как вы укажете всю информацию о соединении, отобразится пятое диалоговое окно, в котором вы должны выбрать, сохранять ли строку подключения в файле конфигурации приложения. Установите флажок Yes, save the connection string as, при этом среда Visual Studio сохранит строку подключения и имя, которое вы введете, в файле конфигурации приложения для выполняемого проекта. Нажмите Next
В шестом диалоговом окне отобразятся все доступные в БД таблицы, представления, хранимые процедуры и функции. Укажите необходимые столбцы необходимых таблиц и нажмите Finish.
Технология 20 – Создание экземпляра класса DataSet
Запишите в строке кода:
Dim ЗадайтеИмяОбъектаDataSet As New DataSet
Технология 21 – Создание экземпляра класса DataAdapter
Запишите в строке кода:
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
Запишите в строке кода:
ИмяПер-ойДатаАдаптер.Fill(ИмяПер-ойДатаСет)
Технология 23 – Вывод данных из объекта DataSet в окно сообщений
Запишите в строке кода:
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
Для добавления в список новых элементов служит метод Add(). Формат вызова метода выглядит так:
ИмяСписка.Items.Add(“дoбaвляeмaя_cтpoкa”)
Иногда требуется удалить из списка все элементы. Для этого можно воспользоваться методом Clear(): ИмяСписка.Сlеаг()
Технология 25 – Задание строки подключения и команды Select для DataAdapter
Запишите в строке кода:
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
Для того, чтобы задать источник данных для объекта DataGridView используется его свойство DataSource. Синтаксис:
DataGridView1.DataSource = ИмяОбъектаDataSet.Tables(НомерТаблицыВНаборе)
Примечание – Нумеруются все таблицы, которые вы загружали в DataSet. Нумерация таблиц начинается с 0.
Технология 27 – Создание экземпляра объекта DataRow
Запишите в строке кода:
Dim ЗадайтеИмяОбъектаDataRow As DataRow = ИмяОбъектаDataSet.Tables(НомерТаблицыВНаборе).NewRow()
Технология 28 – Присвоение значений объекту DataColumn
Запишите в строке кода:
ИмяОбъектаDataRow.Item(0) = TextBox1.Text
ИмяОбъектаDataRow.Item(1) = TextBox2.Text
И.т.д.
Технология 29 – Добавление строки к коллекции Rows таблицы Магазины
Запишите в строке кода:
ИмяОбъектаDataSet.Tables(НомерТаблицыВНаборе).Rows.Add(ИмяОбъектаDataRow)
Технология 30 – Создание первичного ключа, запись значения выделенной ячейки в переменную
Запишите в строке кода:
Dim ЗадайтеИмяМассиваПервичныхКлючей(1) As DataColumn
ИмяМассиваПервичныхКлючей (0) = ИмяОбъектаDataSet.Tables(НомерТаблицыВНаборе).Columns("код_магазина")
ИмяОбъектаDataSet.Tables(НомерТаблицыВНаборе).PrimaryKey = ИмяМассиваПервичныхКлючей
Dim ЗадайтеИмяПеременойДляХраненияЗначенияАктивнойЯчейки As String = ИмяDataGridView.CurrentRow.Cells("код_магазина").Value.ToString
Технология 31 – Поиск строки для удаления по значению первичного ключа
Запишите в строке кода:
Dim ЗадайтеИмяПеременойАктивнойСтроки As DataRow = ИмяОбъектаDataSet.Tables(НомерТаблицыВНаборе).Rows.Find(ИмяПеременойДляХранения-ЗначенияАктивнойЯчейки)
Технология 32 – Удаление строки из коллекции Rows таблицы Магазины
Запишите в строке кода:
ИмяПеременойАктивнойСтроки.Delete()
Технология 33 – Создание экземпляра объекта SqlCommandBuilder
Запишите в строке кода:
Dim ЗадайтеИмяОбъектаCommandBuilder As New SqlCommanBuilder(ИмяОбъектаDataAdapter)
Технология 34 – Вызов метода Update и проверка количества обновленных строк
Запишите в строке кода:
Dim ЗадайтеИмяПеременнойКоличестваОбновлСтрок As Integer = ИмяОбъектаDataAdapter.Update(ИмяОбъектаDataSet)
If ИмяПеременнойКоличестваОбновлСтрок > 0 Then
Создайте сообщение о успешном обновлении
End If