Создание интерфейса приложения

Сделаем нашу форму активной, просто щелкнув по ней левой клавишей мыши. В окне «свойства» изменим поле «Text». Теперь форма будет иметь название «LocalDBExample» вместо «Form1».

Создание интерфейса приложения - student2.ru

С панели элементов перетащим элемент «TabControl» на форму. Если панель еще не открыта, то нужно выбрать ее из вкладки «Вид».

Создание интерфейса приложения - student2.ru

Изменим значение свойства «Dock» табконтрола на значение «Fill», чтобы растянуть элемент на весь экран. Чтобы добавить вкладки в табконтрол, выберем свойство «TapPages» и нажмем на кнопку «…». Откроется окно «Редактор коллекции TabPage».

Создание интерфейса приложения - student2.ru

Добавим еще две вкладки, кнопкой «Добавить». Теперь в свойствах каждой вкладки нужно присвоить название. Для этого выберем свойство «Text» для tabPage1, и введем название «SELECT». Остальные вкладки назовем «INSERT», «UPDATE» и «DELETE» соответственно. В результате, табконтрол должен выглядеть так:

Создание интерфейса приложения - student2.ru

На вкладку «SELECT» поместим элемент ListBox и установим его параметру «Dock» значение «Fill».

Создание интерфейса приложения - student2.ru

Перейдем на вкладку «INSERT». Добавим следующие элементы управления: Два элемента Label, два элемента TextBox, и один Button. Label – это простой элемент для вывода текста. TextBox предназначен для ввода, а Button – это стандартная кнопка, по нажатию, на которую, будет происходить добавление данных в базу. В элементы Label поместим текст «Имя продукта» и «Цена». Кнопку назовем «Добавить». Для того чтобы изменить текст внутри элемента, необходимо изменить его свойство «Text». Расположим элементы следующим образом:

Создание интерфейса приложения - student2.ru

Аналогично оформим вкладку «UPDATE» следующим образом:

Создание интерфейса приложения - student2.ru

И вкладку «DELETE»:

Создание интерфейса приложения - student2.ru

Создание базы данных

LocalDB – это компонент системы управления базами данных MS SQL Server, созданный непосредственно для разработчиков. При добавлении localDB в проект Visual Studio, в том случае, если необходимые компоненты не будут установлены, Visual Studio сама предложит установить эти компоненты прямо по ходу работы.

Чтобы добавить базу данных в проект, в обозревателе решений нужно правой кнопкой мыши щелкнуть по названию проекта (LocalDBExample). Далее из выпадающего меню нужно выбрать «Добавить» и затем «Создать элемент».

Откроется окно, где нужно выбрать элемент «База данных, основанная на службах», и присвоить ему имя. Назовем базу данных «ExampleData» и нажмем «Добавить».

Создание интерфейса приложения - student2.ru

Видим, что в обозревателе решений появились файлы «ExampleData.mdf» и «ExampleData_log.ldf».

Создание интерфейса приложения - student2.ru

Выполняем двойной щелчок по «ExampleData.mdf» и в обозревателе серверов видим нашу базу данных.

Создание интерфейса приложения - student2.ru

Чтобы создать в базе данных новую таблицу, в обозревателе решений в каталоге базы данных ExampleData.mdf нажмем правой кнопкой на папку «Таблицы». Затем нажмем «Добавить новую таблицу». В результате откроется конструктор новой таблицы.

Создание интерфейса приложения - student2.ru

Таким образом, в конструкторе открылись две вкладки: «Проектирование» и «T-SQL». T-SQL – это структурированный язык запросов, с помощью которого происходит управление базами данных. Он незначительно, но все же отличается от стандартного языка SQL.

На вкладке «T-SQL» в строке «CREATE TABLE [dbo].[Table]» изменим название таблицы следующим образом: «CREATE TABLE [dbo].[Products]».

По умолчанию в таблице предложено создать поле «Id», добавим еще два поля: «Name» и «Price», куда будут добавляться наименования продуктов и цена на них.

Выберем в проектировании таблицы поле «Id», теперь в окне свойств выберем «спецификация идентификтора» и в параметр «(Идентификатор)» установим значение «True». Теперь при добавлении данных, не нужно указывать id, он автоматически будет увеличиваться на единицу. Мы видим что на вкладке T-SQL к полю Id добавился параметр «IDENTITY».

Создание интерфейса приложения - student2.ru

Добавим на вкладке проектирования поле Name, и установим тип данных nvarchar(50). Это означает, что значением в этом поле будет строка с максимально допустимым количеством символов в ней – 50. Теперь добавим поле Price, и установим такой же тип данных.

Создание интерфейса приложения - student2.ru

На вкладке проектирования нажмем кнопку «Обновить». Откроется следующее окно:

Создание интерфейса приложения - student2.ru

Нажмем «Обновить базу данных». Теперь, чтобы увидеть нашу таблицу в обозревателе серверов, нужно правой кнопкой нажать на папку «Таблицы» и затем нажать «Обновить».

Создание интерфейса приложения - student2.ru

Выполним щелчок правой клавишей по таблице Products и выберем «Показать таблицу данных».

Создание интерфейса приложения - student2.ru

Заполним таблицу данными. Возьмем к примеру товары из продуктового магазина: кофе, яблоко, печенье, колбаса, жвачка, конфеты. Укажем им цену: 300, 30, 100, 400, 20, 250 соответственно. Поле Id заполнять не нужно! Чтобы изменения сохранились, нужно нажать на кнопку «Сохранить все».

Создание интерфейса приложения - student2.ru

Подключение к базе данных

Выделим нашу главную форму (LocalDBExample), щелкнув по ней ЛКМ. Теперь в окне свойств формы нажмем на значок в виде молнии, для того, чтобы открыть список событий, с которыми форма может взаимодействовать. Далее выберем метод «Load» и выполним в двойной щелчок мышкой по этой строке.

Создание интерфейса приложения - student2.ru

В результате, Visual Studio создаст метод Form1.Load(), который будет выполнять действия при загрузке формы.

Создание интерфейса приложения - student2.ru

Добавим необходимые библиотеки для работы с базами данных:

- using System.Data;

- using System.Data.SqlClient;

Создание интерфейса приложения - student2.ru

Для работы с базой данных, необходимо к ней подключиться через строку подключения. Создадим глобальную переменную «SqlConnection sqlConnection».

Создание интерфейса приложения - student2.ru

Теперь необходимо получить строку подключения из свойств базы данных и присвоить ее переменной connectionString. В обозревателе сервером нужно выделить базу данных ExampleData одинарным щелчком. Затем в окне свойств найти параметр «Строка подключения», скопировать его содержимое и в методе Form1_Load инициализировать переменную connectionString. Так как строка подключения содержит в себе символы «» (кавычки) и \ (слеш), нужно перед каждым таким символом поставить знак \ (слеш). В результате, строка подключения выглядит следующим образом:

Создание интерфейса приложения - student2.ru

Теперь напишем обработчик исключений:

try

{

}

catch (Exception ex)

{

MessageBox.Show(ex.Message.ToString(),ex.Source.ToString(), MessageBoxButtons.OK);

}

finally

{

}

Код, который последует далее, необходимо писать в теле этого обработчика (try).

Создадим подключение и откроем его следующим образом:


sqlConnection = new SqlConnection(connectionString);

sqlConnection.Open();

Создание интерфейса приложения - student2.ru

Чтение данных

Для чтения данных из базы, необходим объект SqlReader. Объявим его глобально:

SqlDataReader sqlReader = null;

Создание интерфейса приложения - student2.ru

Теперь создадим команду, в которую укажем запрос к базе данных:

SqlCommand command = new SqlCommand("SELECT * FROM [Products]", sqlConnection);

Создание интерфейса приложения - student2.ru

Объявим sqlReader:

sqlReader = command.ExecuteReader();

И далее, с помощью цикла while, sqlReader “пробежит” по таблице продуктов. Необходимо вывести данные в listBox с вкладки SELECT. Удобно и быстро это сделать через пробелы:

while (sqlReader.Read())

{

listBox1.Items.Add(Convert.ToString(sqlReader["Id"]) + " " +

Convert.ToString(sqlReader["Name"]) + " " +

Convert.ToString(sqlReader["Price"])

);

}

Создание интерфейса приложения - student2.ru

В блоке finally обработчика исключений закроем sqlReader:

if (sqlReader != null)

sqlReader.Close();

Создание интерфейса приложения - student2.ru

Закрытие базы данных

После выполнения программы будет правильным закрыть соединение с базой данных, поэтому пропишем обработчик события FormClosing для формы.

Также, как и для «OnLoad», находим в списке обработчиков FormClosing, и выполняем двойной щелчок. В коде обработчика закроем соединение с базой данных:

if (sqlConnection != null && sqlConnection.State != ConnectionState.Closed)

sqlConnection.Close();

В результате, метод выглядит так:

Создание интерфейса приложения - student2.ru

Запустим программу и увидим результат:

Создание интерфейса приложения - student2.ru


Наши рекомендации