Пример приложения для работы с базой данных SQL на C# Windows Form

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

Шаг 1: Откройте менеджер Sql Server, нажмите на новую базу данных . Дайте базе данных имя «dbSchool».

Шаг 2: Теперь создайте таблицу в базе данных, вы можете назвать таблицу как хотите, здесь я назвал его “Student”. Существует три столбца в таблице IDFirstName и LastName, как показано ниже

Дизайн Формы:

Код C# :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient; //For SQL Connection

namespace Пример_SQL_Server_приложения
{
    public partial class Form1 : Form  //www.nookery.ru
    {
        public Form1()
        {
            InitializeComponent();
        }
        SqlConnection con;
        SqlDataAdapter da;
        SqlCommand cmd;
        DataSet ds;

        void GetList()
        {
            con = new SqlConnection(@"Data Source=.\SQLEXPRESS; Initial Catalog=dbSchool; Integrated Security=True");
            da = new SqlDataAdapter("Select *From Student", con);
            ds = new DataSet();
            con.Open();
            da.Fill(ds, "Student");
            dataGridView1.DataSource = ds.Tables["Student"];
            con.Close();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            GetList();
        }

        private void button1_Click(object sender, EventArgs e) // Insert Button
        {
            cmd = new SqlCommand();
            con.Open();
            cmd.Connection = con;
            cmd.CommandText = "insert into Student(ID,FirstName,LastName) values (" + textBox1.Text + ",'" + textBox2.Text + "','" + textBox3.Text + "')";
            cmd.ExecuteNonQuery();
            con.Close();
            GetList();
        }

        private void button2_Click(object sender, EventArgs e)//Update Button
        {
            cmd = new SqlCommand();
            con.Open();
            cmd.Connection = con;
            cmd.CommandText = "update Student set FirstName='" + textBox2.Text + "',LastName='" + textBox3.Text + "' where ID=" + textBox1.Text + "";
            cmd.ExecuteNonQuery();
            con.Close();
            GetList();

        }

        private void button3_Click(object sender, EventArgs e)//Delete Button
        {
            cmd = new SqlCommand();
            con.Open();
            cmd.Connection = con;
            cmd.CommandText = "delete from Student where ID=" + textBox1.Text + "";
            cmd.ExecuteNonQuery();
            con.Close();
            GetList();
        }
    }
}

 

Обновлено: 05.01.2020 — 09:50

12 комментариев

Оставить комментарий
  1. Код хорош. Но он работает только с одной таблицей. А В БД их может быть несколько

    1. В чем сложность все то же самое сделать с несколькими таблицами? Если у вас верно выстроена связь, то это проще простого.

      1. Возможно имел ввиду, что хотел увидеть коннектор вытащенный в отдельный класс, что бы не заниматься его инициацией на каждой форме.

    2. Здравствуй Артём можешь написать программу или бота для ТГ чтобы бот работал с Базами Данных. И по запросу выдавал информацию. Например Запрос: +79001234567 и бот или программа выдавала результаты насчёт этого номера которые хранятся в БД

      1. Да конечно могу. Только я не Артём, а Андрей)

        1. Добрый день, Андрей!
          Можешь написать программу на c# и базу данных в sql для салона красоты?
          В программе должен быть дизайн, должна работать авторизация, регистрация и редактирование.

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

  2. Пришли почту

  3. Это ужасная реализация. Вам в базу данных можно сделать инъекцию и удалить всю базу данных. В добавлении и изменении просто выполняется sql команда. Человек может просто дописать команду, а после написать дроп датабейс и все, базы нет.

  4. Ну и нафига удалять негативные комментарии, если они правдивы?) Чему ты учишь, выполнять команды в коде? База имеет 0 защиты, иньекция и данных нету

    1. Я их не удаляю, просто плагин стоит, все комментарии проходят модерацию, а я работаю до вечера и не имею возможности контролировать все комментарии. В моем примере продемонстрирована суть подключения к базе данных, и выполнения разных команд. Сам пример это лишь демонстрация взаимодействия работы БД и приложения. На принципах этого примера происходит работа ADO.NET. Конечно, тут нет защиты от инъекций, потому что так никто вообще уже не работает с БД, уже да же ADO.NET не увидишь, в основном везде EF используется. Если вы это не поняли, ну извините. К чему ваши комментарии я так и не понял, в своем приложении каждый разработчик должен самостоятельно адаптировать код, а не копипастить.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.