Как создать интерфейс для базы данных в visual studio

Обновлено: 04.07.2024

В данной теме показано решение задачи создания базы данных типа SQL Server с помощью MS Visual Studio . Рассматриваются следующие вопросы:

  • работа с окном Server Explorer в MS Visual Studio ;
  • создание локальной базы данных типа SQL Server Database ;
  • создание таблиц в базе данных;
  • редактирование структур таблиц;
  • связывание таблиц базы данных между собой;
  • внесение данных в таблицы средствами MS Visual Studio .

Содержание

  • Условие задачи
  • Выполнение
    • 1. Загрузить MS Visual Studio .
    • 2. Активировать окно Server Explorer .
    • 3. Создание базы данных “ Education ”.
    • 4. Объекты базы данных Education .
    • 5. Создание таблицы Student .
    • 6. Создание таблицы Session .
    • 7. Редактирование структуры таблиц.
    • 8. Установление связей между таблицами.
    • 9. Ввод данных в таблицы.

    Поиск на других ресурсах:

    Условие задачи

    Используя средства MS Visual Studio создать базу данных типа MS SQL Server с именем Education. База данных содержит две таблицы Student и Session. Таблицы между собой связаны по некоторыму полю.

    Структура первой таблицы «Student».

    02_02_00_014_table01_r

    Структура второй таблицы “ Session ”.

    02_02_00_014_table02_r

    Выполнение

    1. Загрузить MS Visual Studio .
    2. Активировать окно Server Explorer .

    Для работы с базами данных корпорация Microsoft предлагает облегченный сервер баз данных Microsoft SQL Server . Существуют разные версии Microsoft SQL Server , например: Microsoft SQL Server 2005 , Microsoft SQL Server 2008 , Microsoft SQL Server 2014 и прочие версии.

    Этот сервер отлично подходит для работы с базами данных. Он бесплатен и имеет графический интерфейс для создания и администрирования баз данных с помощью SQL Server Management Tool .

    Прежде всего, перед созданием базы данных, нужно активировать утилиту Server Explorer . Для этого, в MS Visual Studio нужно вызвать (рис. 1)

    База данных Server Explorer команда

    Рис. 1. Вызов Server Explorer

    После вызова окно Server Explorer будет иметь приблизительный вид, как показано на рисунке 2.

    База данных окно Server Explorer

    Рис. 2. Окно Server Explorer

    3. Создание базы данных “Education”.

    база данных SQL Server команда

    Рис. 3. Вызов команды создания базы данных SQL Server

    В результате откроется окно « Create New SQL Server Database » (рис. 4).

    В окне (в поле «Server Name») указывается имя локального сервера, установленного на вашем компьютере. В нашем случае это имя “ SQLEXPRESS ”.

    В поле « New database name: » указывается имя создаваемой базы данных. В нашем случае это имя Education.

    Опцию Use Windows Autentification нужно оставить без изменений и нажать кнопку OK .

    SQL Server 2008 Express команда создание

    Рис. 4. Создание новой базы данных SQL Server 2008 Express с помощью MS Visual Studio 2010

    После выполненных действий, окно Server Explorer примет вид, как показано на рисунке 5. Как видно из рисунка 5, в список имеющихся баз данных добавлена база данных Education с именем

    Server Explorer база данных рисунок

    Рис. 5. Окно Server Explorer после добавления базы данных Education

    4. Объекты базы данных Education.

    Если развернуть базу данных Education (знак « + »), то можно увидеть список из следующих основных объектов:

    • Database Diagrams – диаграммы базы данных. Диаграммы показывают связи между таблицами базы данных, отношения между полями разных таблиц и т.п.;
    • Tables – таблицы, в которых помещаются данные базы данных;
    • Views – представления. Отличие между представлениями и таблицами состоит в том, что таблицы баз данных содержат данные, а представления данных не содержат их, а содержимое выбирается из других таблиц или представлений;
    • Stored procedures – хранимые процедуры. Они представляют собою группу связанных операторов на языке SQL, что обеспечивает дополнительную гибкость при работе с базой данных.
    5. Создание таблицы Student.

    На данный момент база данных Education абсолютно пустая и не содержит никаких объектов (таблиц, сохраненных процедур, представлений и т.д.).

    Чтобы создать таблицу, нужно вызвать контекстное меню (клик правой кнопкой мышки) и выбрать команду “ Add New Table ” (рисунок 6).

    база данных таблица создать

    Рис. 6. Команда добавления новой таблицы

    Существует и другой вариант добавления таблицы базы данных с помощью команд меню Data:

     таблица создание рисунок

    Рис. 7. Альтернативный вариант добавления новой таблицы

    В результате откроется окно добавления таблицы, которое содержит три столбца (рисунок 8). В первом столбце “Column Name” нужно ввести название соответствующего поля таблицы базы данных. Во втором столбце “Data Type” нужно ввести тип данных этого поля. В третьем столбце “ Allow Nulls ”указывается опция о возможности отсутствия данных в поле.

    SQL Server таблица создание

    Рис. 8. Окно создания новой таблицы

    С помощью редактора таблиц нужно сформировать таблицу Student как изображено на рисунке 9. Имя таблицы нужно задать при ее закрытии.

    В редакторе таблиц можно задавать свойства полей в окне Column Properties. Для того, чтобы задать длину строки (nvchar) в символах, в окне Column Properties есть свойство Length. По умолчанию значения этого свойства равно 10.

    SQL Server таблица проектирование рисунок

    Рис. 9. Таблица Student

    Следующим шагом нужно задать ключевое поле. Это осуществляется вызовом команды “ Set Primary Key ” из контекстного меню поля Num_book. С помощью ключевого поля будут установлены связи между таблицами. В нашем случае ключевым полем есть номер зачетной книжки.

    таблица SQL Server ключевое поле

    Рис. 10. Задание ключевого поля

    После установки первичного ключа окно таблицы будет иметь вид как изображено на рисунке 11.

    SQL Server таблица формирование

    Рис. 11. Таблица Student после окончательного формирования

    Теперь можно закрыть таблицу. В окне сохранения таблицы нужно задать ее имя – Student (рис. 12).

    таблица имя SQL Server ввод

    Рис. 12. Ввод имени таблицы Student

    6. Создание таблицы Session.

    По образцу создания таблицы Student создается таблица Session.

    На рисунке 13 изображен вид таблицы Session после окончательного формирования. Первичный ключ ( Primary Key ) устанавливается в поле Num_book. Имя таблицы задается Session.

    таблица формирование SQL Server

    Рис. 13. Таблица Session

    После выполненных действий, в окне Server Explorer будут отображаться две таблицы Student и Session.

    Таким образом, в базу данных можно добавлять любое количество таблиц.

    7. Редактирование структуры таблиц.

    Бывают случаи, когда нужно изменить структуру таблицы базы данных.

    Для того, чтобы вносить изменения в таблицы базы данных в MS Visual Studio, сначала нужно снять опцию “Prevent Saving changes that require table re-creation ” как показано на рисунке 14. Иначе, MS Visual Studio будет блокировать внесения изменений в ранее созданную таблицу. Окно Options, показанное на рисунке 14 вызывается из меню Tools в такой последовательности:

    SQL Server изменения опция

    Рис. 14. Опция “ Prevent Saving changes that require table re-creation ”

    После настройки можно изменять структуру таблицы. Для этого используется команда “ Open Table Definition ” (рисунок 15) из контекстного меню, которая вызывается для выбранной таблицы (правый клик мышкой).

    SQL Server команда рисунок

    Рис. 15. Вызов команды “ Open Table Definition ”

    Также эта команда размещается в меню Data:

    Предварительно таблицу нужно выделить.

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

    В соответствии с условием задачи, таблицы связаны между собою по полю Num_book.

    Чтобы создать связь между таблицами, сначала нужно (рисунок 16):

    • выделить объект Database Diagram;
    • выбрать команду Add New Diagram из контекстного меню (или из меню Data).

    SQL Server диаграмма добавить

    Рис. 16. Вызов команды добавления новой диаграммы

    В результате откроется окно добавления новой диаграммы Add Table (рисунок 17). В этом окне нужно выбрать последовательно две таблицы Session и Student и нажать кнопку Add.

    таблица диаграмма добавление окно

    Рис. 17. Окно добавления таблиц к диаграмме

    таблица диаграмма добавление рисунок

    Рис. 18. Таблицы Student и Session после добавления их к диаграмме

    Чтобы начать устанавливать отношение между таблицами, надо сделать клик на поле Num_book таблицы Student, а потом (не отпуская кнопку мышки) перетянуть его на поле Num_book таблицы Session.

    В результате последовательно откроются два окна: Tables and Columns (рис. 19) и Foreign Key Relationship (рис. 20), в которых нужно оставить все как есть и подтвердить свой выбор на OK.

    В окне Tables and Columns задается название отношения ( FK_Session_Student ) и названия родительской (Student) и дочерней таблиц.

    связь база данных SQL Server

    Рис. 19. Окно Tables and Columns

    SQL Server свойство отношение

    Рис. 20. Окно настройки свойств отношения

    После выполненных действий будет установлено отношение между таблицами (рисунок 21).

    SQL Server таблица отношение рисунок

    Рис. 21. Отношение между таблицами Student и Session

    Сохранение диаграммы осуществляется точно также как и сохранение таблицы. Имя диаграммы нужно выбрать на свое усмотрение (например Diagram1).

    После задания имени диаграммы откроется окно Save, в котором нужно подтвердить свой выбор (рисунок 22).

    SQL Server изменение таблица

    Рис. 22. Подтверждение сохранения изменений в таблицах

    9. Ввод данных в таблицы.

    Система Microsoft Visual Studio разрешает непосредственно вносить данные в таблицы базы данных.

    Чтобы вызвать режим ввода данных в таблицу Student, нужно вызвать команду Show Table Data из контекстного меню (клик правой кнопкой мышки) или с меню Data (рис. 23).

    SQL Server данные таблица

    Рис. 23. Команда Show Table Data

    Откроется окно, в котором нужно ввести входные данные (рис. 24).

    SQL Server ввод данные таблица

    Рис. 24. Ввод данных в таблице Student

    После внесения данных в таблицу Student нужно внести данные в таблицу Session.

    При внесении данных в поле Num_book таблицы Session нужно вводить точно такие же значения, которые введены в поле Num_book таблицы Student (поскольку эти поля связаны между собой).

    Например, если в поле Num_book таблицы Student введены значения “101”, “102”, “103” (см. рис. 24), то следует вводить именно эти значения в поле Num_book таблицы Session. Если попробовать ввести другое значение, система выдаст приблизительно следующее окно (рис. 25).

    Таблица Session с введенными данными изображена на рисунке 26.

    таблица данные ввод SQL Server

    Рис. 26. Таблица Session с введенными данными

    Итак, база данных создана. Ввод и обработку данных в таблицах можно реализовать программным путем.

    Скриншот панели выбора компонентов для создания графического приложения

    1. В первую очередь перечислим, какие компоненты должны быть установлены для создания графического приложения на языке С++. Их три, все относятся к разделу "Desktop development with C++":
    - VC++ 2017 v141 toolset (x86,x64)
    - Windows 10 SDK (10.0.15063.0) for Desktop C++ x86 and x64
    - C++/CLI support

    Первые два нужны для создания любого приложения на С++, третий именно для создания графической оболочки программы. Во время исследования данной темы мною подключалось два десятка других - пользы новичкам от них нету.

    Окно выбора типа создаваемого приложения

    2. После установки среды разработки переходим
    File > New > Project. ( ^+N )
    В появившемся окне отыскиваем Installed > Visual C++ > CLR > CLR Empty Project

    Поля внизу заполняем традиционным для таких программ способом. В названии проекта лучше не допускать пробелов, иначе вам потом придётся мудрить в коде.

    3. Необходимо добавить в приложение главную форму. Есть два равносильных пути достижения этой цели.
    Первый: в "Solution Explorer" правой кнопкой мыши на названии проекта, во всплывшем контексном меню Add > New Item.
    Второй способ: в главном меню выбираем Project > Add New Item.
    Или просто нажимаем ^+A

    выбор Windows Form

    Во появившемся окне Visual C++ > UI > Windows Form

    Устранение ошибки 0x8000000A, иногда происходящей при создании формы

    Главная форма программы создана. На некоторых компьютерах в данный момент возможно выскакивание ошибки 0x8000000A, в этом случае нужно просто закрыть вкладку.

    Эта ошибка хорошо известна ещё по Visual Studio 2015. Можете почитать её обсуждение, к примеру, на сайте Microsoft по ссылке1, ссылке2, ссылке3. И более лучшего решения, чем закрывать вкладку, ещё нет. По всей видимости, команда разработчиков Visual Studio не считает эту ошибку достаточно серьёзным делом, чтобы ломать о неё копья.

    Выбор в контекстном меню элемента Свойства

    4. Но мало просто создать форму, нужно вплести её в создаваемую программу. Для этого в "Solution Explorer" правой кнопкой мыши на названии проекта, во всплывшем контексном меню выбрать Properties .

    Выбор содсистемы (SubSystem)

    В открывшемся окне произвести два действия.
    • Linker > System > SubSystem , из раскрывающегося списка выбрать " Windows (/SUBSYSTEM:WINDOWS) "

    Прописывание точки привязки (Entry Point)

    • Linker > Advanced > Entry Point . В пустое поле вписать " main " (без кавычек).

    5. В "Solution Explorer" двойным щелчком открыть в редакторе файл MyForm.cpp. Скопировать в него текст

    Отлично, всё готово! Теперь проект компилируем и запускаем. Но если у вас ранее выскакивала 0x8000000A, то быстрее всего вам придётся перезапустить Visual Studio и вновь загрузить в нём проект. Далее ошибка ни в чём не проявится.

    Вызов панели Toolbox, также показана сама панель

    6. Для того, чтобы добавить на нашу только что созданную форму новые элементы, понадобится панель Toolbox. Полезно запомнить горячую клавишу ^!X

    Работа с размещением элементов на форме сложностей вызвать не должна. Работает здесь всё удобнее, чем wxWidgets в CodeBlocks или wxDev-C++. Никаких глюков мною замечено не было.

    Для изменения свойств только что созданного элемента интерфейса щёлкните на нём правой кнопкой и в контекстном меню выберите, соответственно, Properties.

    Испытаем кнопку в работе. Сделаем так, чтобы по её названию появлялось окно с умным текстом. Двойной щелчок по элементу на форме вызовет редактор кода с уже прописанным в нём шаблоном. Добавим внутрь фигурных скобок команду

    MessageBox::Show("Hello World",
    "My heading", MessageBoxButtons::OKCancel,
    MessageBoxIcon::Asterisk);

    Работающее простейшее графическое приложение, созданное в VS2017

    Запускаем и проверяем!

    Список Solution Configuration, выставленный на Release

    Если вдруг не запустится, то первым делом проверяем, что выставлено в раскрывающемся списке Solution Configurations . Он находится на панели инструментов (под главным меню). Там должно быть Release (а не Debug) .

    Дополнительная информация

    Альтернативные способы создания графических приложений в Visual Studio 2017.

    1. UWP (Universal Windows Platfrom application) - универсальные приложения, способные запускаться на Windows 10, Windows 10 Mobile и аналогичных самых современных платформах от Microsoft. Платформа разработана как расширение Windows Runtime. Всё бы хорошо, но данные приложения не могут запускаться на более старых версиях Windows, даже на восьмёрке.

    Пара слов для общего развития о нескольких технологиях, на которые вы будете постоянно натыкаться при чтении документации по разработке GUI в Visual Studio.

    ATL (Active Template Library) - набор шаблонных классов языка C++, предназначенных для упрощения написания COM-компонентов.
    MFC (Microsoft Foundation Classes) - библиотека объектов, помогающая профессиональным разработчикам создавать десктопные приложения. Что-то вроде более усложнённого и навороченного варианта ATL. ATL и MFC являются хорошими вещами, и с их задействованием также можно создавать графические приложения. Но это инструменты, требующие наличия углублённых знаний тематики.

    IncrediBuild - технология ускорения компиляции и сборки приложений с помощью подключения дополнительных компьютеров. К методам создания графических интерфейсов это напрямую не относится.

    Примечания:
    В интернете можно наткнуться на заголовок "Full C and C++ IDE with Visual Studio". Оттуда закачиваются те же самые стандартные дистрибутивы Visual Studio, проверено по контрольным суммам.

    Код и внешний вид простейшего графического калькулятора

    P.S.
    Теперь можно немного поэкспериментировать с элементами интерфейса. Ниже показан код простейшего графического калькулятора:

    private: System::Void button6_Click(System::Object^ sender, System::EventArgs^ e) Application::Exit();
    >

    private: System::Void radioButton1_CheckedChanged(System::Object^ sender, System::EventArgs^ e) label1->Text = "+";
    >
    private: System::Void radioButton2_CheckedChanged(System::Object^ sender, System::EventArgs^ e) label1->Text = "-";
    >
    private: System::Void radioButton3_CheckedChanged(System::Object^ sender, System::EventArgs^ e) label1->Text = "*";
    >
    private: System::Void radioButton4_CheckedChanged(System::Object^ sender, System::EventArgs^ e) label1->Text = "/";
    >

    private: System::Void button5_Click(System::Object^ sender, System::EventArgs^ e) char sw = System::Convert::ToChar(label1->Text);
    double a = System::Convert::ToDouble(textBox1->Text);
    double b = System::Convert::ToDouble(textBox2->Text);
    double r;
    switch (sw) case '+':
    r = a + b;
    break;
    case '-':
    r = a - b;
    break;
    case '*':
    r = a * b;
    break;
    case '/':
    r = a / b;
    break;
    >
    label2->Text = "Result: " + System::Convert::ToString(r);
    >

    Простой стандандартный windows-калькулятор

    А теперь можно попытаться сотворить что-то более похожее на стандартное window-приложение. Пока простейшее.

    double iFirstNum;
    double iSecondNum;
    double iResult;
    String^ iOperator;

    private: System::Void btnC_Click(System::Object^ sender, System::EventArgs^ e) /*button C ("Global Clear" - clears the entire calculation*/
    tbDisplay->Text = "0";
    lblShowOp->Text = "";
    >

    private: System::Void btnCE_Click(System::Object^ sender, System::EventArgs^ e) <
    /*button CE ("Clear Entry" is supposed to be used to clear only the thing you are currently
    typing into the calculator, before you have performed any operation on it.*/
    tbDisplay->Text = "0";
    >

    private: System::Void buttonS_Number_Click(System::Object^ sender, System::EventArgs^ e) <
    //Number Buttons Event
    Button ^ Numbers = safe_cast<Button^>(sender);
    if (tbDisplay->Text == "0")
    tbDisplay->Text = Numbers->Text;
    else
    tbDisplay->Text += Numbers->Text;
    >

    private: System::Void buttonS_Arithmetic_Click(System::Object^ sender, System::EventArgs^ e) <
    //Operator Buttons Event
    Button ^ op = safe_cast<Button^>(sender);
    iFirstNum = Double::Parse(tbDisplay->Text);
    tbDisplay->Text = "0";
    iOperator = op->Text;
    lblShowOp->Text = System::Convert::ToString(iFirstNum) + " " + iOperator;
    >

    private: System::Void btnEquals_Click(System::Object^ sender, System::EventArgs^ e) <
    //Equals
    iSecondNum = Double::Parse(tbDisplay->Text);

    if (iOperator == "+")
    iResult = iFirstNum + iSecondNum;
    else if (iOperator == "-")
    iResult = iFirstNum - iSecondNum;
    else if (iOperator == "*")
    iResult = iFirstNum * iSecondNum;
    else if (iOperator == "/")
    iResult = iFirstNum / iSecondNum;
    else MessageBox::Show("Unknown operation.\nSomething wrong.",
    "error", MessageBoxButtons::OK,
    MessageBoxIcon::Error);
    return;
    >

    private: System::Void btnDot_Click(System::Object^ sender, System::EventArgs^ e) <
    //Decimal Point
    if (!tbDisplay->Text->Contains("."))
    tbDisplay->Text += ".";
    >

    private: System::Void btnPM_Click(System::Object^ sender, System::EventArgs^ e) <
    //Plus-Minus
    if (tbDisplay->Text->Contains("-"))
    tbDisplay->Text = tbDisplay->Text->Remove(0, 1);
    else
    tbDisplay->Text = "-" + tbDisplay->Text;
    >

    Код создан на основе видеоролика
    "Visual C++ Calculator Tutorial with Decimal Point and Backspace" (37:59, DJ Oamen, 2016 Jan 2, Visual C++ 2010) ,
    но имеет ряд отличий.

    Как продолжение, существует видеоролик
    "Visual C++ Scientific Calculator Tutorial" (53:31, Paul Oamen, 2016 Oct 2, Visual Studio 2015). Судя по голосу, автор тот же. К показанному выше калькулятору прибавляется конвертер температуры и ряд более научных функций. Предупрежу, что итоговое "творение" имеет массу изъянов и глюков, поэтому видео можно просматривать исключительно для изучение приёмов программирования. Но не используйте его в качестве образца того, как нужно создавать калькуляторы.

    Теперь рассмотрим создание пользовательского интерфейса нашей БД в "Microsoft Visual Studio 2008".

    Прежде чем создавать новый проект в "Microsoft Visual Studio 2008", необходимо запустить " SQL Server Browser " (Обозреватель SQL серверов) сервис, обеспечивающий доступ сторонним приложениям к "Microsoft SQL Server 2008". Для запуска данного сервиса необходимо запустить утилиту " SQL Server Configuration Manager " ( Менеджер настроек SQL сервера), входящую в состав "Microsoft SQL Server 2008". Для запуска данной утилиты в меню "Пуск" выберите пункт "Программы/Microsoft SQL Server 2008/Configuration Tools/ SQL Server Configuration Manager" как это представлено на рис. 16.1.

    Появится окно менеджера настроек SQL сервера имеющее следующий вид ( рис. 16.2):

    В правой части окна менеджера настроек SQL сервера, в списке сервисов "Microsoft SQL Server 2008" выделите сервис " SQL Server Browser ", затем на панели инструментов нажмите кнопку "Start Service" (Запустить сервис)

    ( рис. 16.2). После запуска вышеуказанного сервиса окно менеджера настроек SQL сервера можно закрыть.

    Теперь перейдем непосредственно к созданию пользовательского интерфейса нашей БД "Students" в "Microsoft Visual Studio 2008". Для начала необходимо создать новый проект. Для этого запустите "Microsoft Visual Studio 2008", выбрав в меню "Пуск" пункт "Программы/ Microsoft Visual Studio 2008/ Microsoft Visual Studio 2008" ( рис. 16.3).

    Появится окно со стартовой страницей "Microsoft Visual Studio 2008 (Start Page)" ( рис. 16.4).

    Для создания нового проекта на стартовой странице в области "Recent Projects" (Недавние проекты) необходимо щелкнуть ЛКМ по ссылке "Create: Project…" (Создать: проект…) ( рис. 16.4). Появится окно выбора типа создаваемого проекта, и используемого языка программирования "New Project" (Новый проект) ( рис. 16.5).

    В нашем случае на дереве типов проекта "Project types:" (Типы проектов) выберите "Visual Basic\Windows", а в качестве шаблона проекта (Область Templates :) выберите "Windows Forms Application" ( Приложение Windows ). В качестве имени проекта ( Поле ввода Name:) задайте "StudentsDB" и нажмите кнопку "Ok" ( рис. 16.5).

    Появится стандартное окно разработки языка "Microsoft Visual Basic 2008" ( рис. 16.6).

    Окно разработки языка "Microsoft Visual Basic 2008" имеет следующую структуру ( рис. 16.6):

    1. Оконное меню - содержит полный набор команд для управления средой разработки;
    2. Панель инструментов - содержит кнопки с наиболее часто используемыми командами среды разработки;
    3. Панель объектов (Toolbox) - содержит кнопки классов для создания различных объектов (Элементов управления);
    4. Обозреватель проекта/Источники данных (Solution Explorer/Data Sources) - в зависимости от активизированной в нижней части данной панели вкладки, отображает обозреватель проекта или источники данных, подключенные к проекту. Обозреватель проекта (Solution Explorer) отображает все файлы, входящие в проект и позволяет переключаться между ними. Источники данных это базы данных, службы или объекты из которых поступают данные в проект;
    5. Панель свойств (Properties) - отображает и позволяет изменять свойства выбранного объекта;
    6. Рабочая область - в зависимости от выбранной вкладки, расположенной в верхней части области, отображает область дизайна формы, код формы или стартовую страницу.

    После создания нового проекта необходимо подключить к проекту созданную ранее в "Microsoft SQL Server 2008" БД "Students". Для подключения БД к проекту в оконном меню среды разработки выберите пункт "Data\Add New Data Source…". Появится окно мастера подключения к новому источнику данных "Data Source Configuration Wizard" ( рис. 16.7).

    В данном окне можно выбрать один из трех видов источников данных ( Choose a Data Source Type ):

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

    В качестве СУБД выберем программу Microsoft Access. Но вы можете использовать и другую базу данных.

    Создаем базу данных в Microsoft Access и называем её «test». В этой базе данных создаем таблицу «contacts»:

    Заполните базу данных данными:

    Базу данных вы можете и другую создать и данные в ней можете другие добавить т.к. это не принципиально, но мы будем работать с данной таблицей.

    2. Создание проекта

    В Visual Studio создаём проект:

    Открываем список «Выберите источник данных» и нажимаем на ссылку «Добавить источник данных проекта»:

    Откроется «Мастер настройки источника данных». В качестве источника выбираем «База данных» и идем далее:

    В следующем окне идем далее:

    В окне «Выбор подключения к базе данных» нажимаем на «Создать подключение»:

    В следующем окне «Добавить подключение» выбираем в «Поставщик OLE DB» Microsoft Office 16.0 Access Database. В «Имя сервера или файла» вписываем путь к нашему файлу базы данных Access (который создали в первом пункте). Проверяем подключение и жмем «ОК»:

    Update 2021: Visual Studio 2019 требует файл Access старого формата (.mdb – это старый формат баз данных Access 2002-2003):

    В следующем окне идем далее:

    Выйдет окно для переноса файла базы данных в Ваш проект нажимаем «Да»:

    В следующем окне ничего не меняем и идем далее:

    В следующем окне выбираем нашу таблицу «contacts» и жмем «Готово»:

    После всех манипуляций наша форма должна быть примерно такой:

    Если запустить наш проект, то можно увидать данные из нашей базы данных:

    Поменяйте ширину всех столбцов на «150» чтобы столбцы вместились во все окно:

    Вот так без единой строчки кода мы вывели данные из нашей таблицы на нужную нам форму. Переходим к 3 пункту.

    3. Сохранение данных

    Базу данных мы видим, но редактировать её невозможно и именно поэтому нам нужна кнопка «Сохранить». Добавляем на форму кнопку и в свойствах меняем имя на «SaveButton». После добавления кнопки нажимаем на нее два раза и пишем код:

    После добавления кода запустите свое приложение и попробуйте изменить любую запись и сохранить.

    4. Изменение заголовков столбцов таблицы

    Изменим текст столбцов и скроем столбец «img»:

    Полезные свойства для изменения столбцов:

    • HeaderText – задает название столбца.
    • Visible – скрывает заголовок или наоборот.
    • Width – ширина столбца.
    • Resizable – можно ли изменять ширину столбца.

    После того как скроете заголовок «img» измените ширину всех остальных заголовков:

    5. Защита от случайного удаления

    Чтобы пользователь случайно не удалил запись в нашей базе данных нужно сделать так чтобы перед удалением приложение спрашивало об удалении записи.

    Для этого перейдем к компоненту DataGridView, откроем список событий и установим обработчик для события UserDeletingRow. Нажмите два раза на пустую строчку возле события и перейдете к коду. Вписываем код:

    После этого проверим работоспособность данного кода. Запустим приложение и попробуем удалить запись. Должно быть вот так:

    6. Добавление данных

    Добавляем новую форму в проект и называем ее «AddForm»:

    Изменяем заголовок формы и добавляем на форму компоненты:

    • 1 groupBox c текстом «Добавление записи»;
    • 4 TextBox и меняем свойство «Name» на (tbName, tbPhone, tbMail, tbPhoto);
    • 4 label и меняем текст на (Имя, Телефон, E-mail, Фото);
    • 1 Button и меняем свойство «Name» на «AddBtn» (Добавить);
    • 1 Button и меняем свойство «Name» на «CloseBtn» (Закрыть).

    Переходим на главную форму и добавляем кнопку «Добавить» для добавления новой записи. Дважды щелкаем на нее и пишем код для вызова нашей новой формы:

    Проверьте работоспособность приложения:

    Возвращаемся на форму «Добавления записи». Пишем обработчик событий для кнопки «CloseBtn»:

    Чтобы обработчик событий на кнопке «AddBtn» работал как надо нужно выполнить несколько действий. Зайти в «Form1.Designer.cs» и изменить модификаторы доступа на «public» нижеуказанных файлов:

    • System.Windows.Forms.DataGridView dataGridView1;
    • testDataSet testDataSet;
    • System.Windows.Forms.BindingSource contactsBindingSource;
    • testDataSetTableAdapters.contactsTableAdapter contactsTableAdapter;

    Это нужно для того чтобы наша база данных была доступна для разных с ней манипуляций во всех создаваемых нами формах. Обработчик событий для кнопки «AddBtn»:

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

    7. Поиск данных

    Реализуем самый простой поиск. Данный поиск используется в небольших приложениях. Создаем новую форму с именем «SearchForm» и добавляем на форму компоненты:

    • 1 GroupBox (Поиск);
    • 1 label;
    • 2 button (Найти и Закрыть);
    • 1 TextBox и меняем в свойствах «Name» на «tbStr».

    Переходим на главную форму и добавляем кнопку «Найти» для поиска записей. Дважды щелкаем на нее и пишем код для вызова нашей новой формы:

    Проверяем работоспособность приложения:

    Возвращаемся на форму «Поиска». Пишем обработчик событий для кнопки «Закрыть»:

    Пишем обработчик событий для кнопки «Найти»:

    На главную форму добавляем кнопку «Выход» и пишем для нее код:

    Итоговая форма приложения:

    Читайте также: