Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Подключение к базе данных в C#: SQL Server и CRUD-операции

Работа с базой данных — ключевой навык для любого C#-разработчика. Это руководство показывает, как подключиться к Microsoft SQL Server, выполнять запросы и привязывать данные к элементам управления Windows Forms.

Основы подключения к БД

Независимо от того, используете ли вы Oracle, MySQL, MongoDB или Microsoft SQL Server, процесс подключения, запросов, вставки, обновления и удаления данных остаётся единообразным. В этом туториале мы сфокусируемся на SQL Server, используя бесплатный SQL Server Express.

SQL-команды в C#

Класс SqlCommand отправляет SQL-инструкции в базу данных. Используйте ExecuteReader для SELECT-запросов и ExecuteNonQuery для INSERT, UPDATE и DELETE.

Подключение C# к SQL Server

Ниже минимальный пример Windows Forms, устанавливающий соединение с базой Demodb под учётными данными sa / demo123. Обработчик клика кнопки открывает соединение, показывает сообщение и закрывает его.

Шаг 1: Создайте проект Windows Forms в Visual Studio. Шаг 2: Добавьте кнопку btnConnect с текстом "Connect". Шаг 3: Добавьте следующий обработчик события:

using System;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace DemoApplication1 {
    public partial class Form1 : Form {
        public Form1() => InitializeComponent();
        private void btnConnect_Click(object sender, EventArgs e) {
            string connectionString = "Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demo123";
            using (SqlConnection conn = new SqlConnection(connectionString)) {
                conn.Open();
                MessageBox.Show("Connection Opened!");
                conn.Close();
            }
        }
    }
}

Запустите приложение, нажмите кнопку — появится подтверждающее сообщение.

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

Предположим, таблица demotb существует с колонками TutorialID и TutorialName:

TutorialIDTutorialName
1C#
2ASP.NET

Используйте следующий код для выборки и отображения строк:

string sql = "SELECT TutorialID, TutorialName FROM demotb";
using (SqlCommand cmd = new SqlCommand(sql, conn))
using (SqlDataReader reader = cmd.ExecuteReader()) {
    string output = "";
    while (reader.Read()) {
        output += $"ID: {reader["TutorialID"]}, Name: {reader["TutorialName"]}\n";
    }
    MessageBox.Show(output);
}

Вставка записи

Для добавления нового туториала (ID 3, Name VB.NET) выполните:

string insertSql = "INSERT INTO demotb (TutorialID, TutorialName) VALUES (3, 'VB.NET')";
using (SqlCommand cmd = new SqlCommand(insertSql, conn)) {
    cmd.ExecuteNonQuery();
}

Обновление записи

Обновите туториал с ID 3 на "VB.NET Complete":

string updateSql = "UPDATE demotb SET TutorialName = 'VB.NET Complete' WHERE TutorialID = 3";
using (SqlCommand cmd = new SqlCommand(updateSql, conn)) {
    cmd.ExecuteNonQuery();
}

Удаление записи

Удалите запись с ID 3:

string deleteSql = "DELETE FROM demotb WHERE TutorialID = 3";
using (SqlCommand cmd = new SqlCommand(deleteSql, conn)) {
    cmd.ExecuteNonQuery();
}

Привязка элементов управления к данным

Windows Forms предлагает привязку данных, устраняя необходимость ручного обновления UI. Перетащите два TextBox на форму, назовите их txtID и txtName, и добавьте BindingNavigator.

Используйте мастер источников данных для создания проектного источника данных для demotb. Затем:

  1. Выберите txtID, в окне свойств нажмите DataBindings → Text и привяжите к demotbBindingSource – TutorialID.
  2. Повторите для txtName с TutorialName.
  3. Установите свойство BindingNavigator BindingSource в demotbBindingSource.

Запустите форму; текстовые поля покажут первую запись, а навигатор позволит перемещаться по строкам автоматически.

Отображение данных с DataGridView

Перетащите DataGridView на форму. В его свойствах установите DataSource в demotbBindingSource. Сетка заполнится всеми строками таблицы.

Резюме

Язык C

  1. Понимание обфусцированных VPN‑серверов: как они работают и почему это важно
  2. Прямое подключение ультразвукового датчика LEGO Mindstorms NXT к Raspberry Pi
  3. Строки в C просто: объявление, ввод, вывод и библиотечные функции
  4. Использование realloc() в C: синтаксис, лучшие практики и пример
  5. Освоение функции free() в C: практическое руководство и пример
  6. Метод String.length() в Java: как получить длину строки (пример)
  7. Чтение файлов в Java с BufferedReader — Практическое руководство с примерами
  8. Укрепление цепочек поставок США: стратегическая роль внутренних портов
  9. Автоматизация серверов: от десктопных макросов к платформам FANG
  10. Подключение Haas ЧПУ к ПК или ноутбуку: Пошаговое руководство