Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 20

Удаление из dataGridView и базы данных

18.02.2019, 11:09. Показов 2113. Ответов 9

Студворк — интернет-сервис помощи студентам
Ребят такая тема, есть база и таблица datagridview для Windows Forms, там есть данные, необходимо теперь сделать так чтобы вся строчка удалялась нажатием кнопки "Удалить".
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace БД_сотрудники
{
    public partial class Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();
        }       
 
        private void Form3_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "loginDBDataSet.Sotrudniki". При необходимости она может быть перемещена или удалена.
            this.sotrudnikiTableAdapter.Fill(this.loginDBDataSet.Sotrudniki);
 
        }
    }
}
Миниатюры
Удаление из dataGridView и базы данных  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.02.2019, 11:09
Ответы с готовыми решениями:

Удаление строки из базы данных через DataGridView
Почему-то не получается удалить данные из базы . Выдает ошибку Есть класс, в котором набор функций, которые обращаются к базе данных. Вот...

Удаление строки из datagridview и из базы
Здравствуйте, помогите пожалуйста, есть форма с подключенной базой данных, данные выводятся на dgv, подключено через ado, как мне...

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

9
 Аватар для Tetriandox
2 / 1 / 1
Регистрация: 08.02.2019
Сообщений: 44
18.02.2019, 14:48
Delete from tablica where SotrID = '{0}'
В запрос передаете значение dataGridView1.CurrentRow.Cells["SotrID"].Value.ToString()
0
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 20
18.02.2019, 15:09  [ТС]
C#
1
2
3
4
5
6
private void button1_Click(object sender, EventArgs e)
        {
            DELETE from Sotrudniki where SotrID = '{0}';  //Sotrudniki - таблица БД
            dataGridView1.CurrentRow.Cells["SotrID"].Value.ToString();
 
        }
Или как правильно надо?
0
 Аватар для Tetriandox
2 / 1 / 1
Регистрация: 08.02.2019
Сообщений: 44
19.02.2019, 08:28
ac_sokolov, Не совсем. У вас есть отдельный класс для взаимодействия с базой данных?
0
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 20
19.02.2019, 11:43  [ТС]
Нету...
0
 Аватар для Tetriandox
2 / 1 / 1
Регистрация: 08.02.2019
Сообщений: 44
19.02.2019, 11:47
ac_sokolov, каким образом у вас реализовано соединение с бд и заполнение dataGridView?Пришлите код. И бд на чем? Sql?
0
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 20
19.02.2019, 13:35  [ТС]
База Данных реализована на SQL Server 2008R2, dataGridView - таблица загружена из SQL
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace БД_сотрудники
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
 
        private void btnExit_Click(object sender, EventArgs e)
        {
            Close();
        }
 
        private void btnInsert_Click(object sender, EventArgs e)
        {
            if ((txtFIO.Text == "") || (txtDolgnost.Text == "") || (txtNomer.Text == "") || (txtDataRozhdeniya.Text == "") || (txtAdres.Text == ""))
            {
                MessageBox.Show("Ошибка исходных данных. \n" + "Необходимо ввести данные во все поля. ", "База по сотрудникам", MessageBoxButtons.OK, MessageBoxIcon.Error);
 
            }
            else
            {
                string strConn = (@"Data Source=(local);Initial Catalog=LoginDB;Integrated Security=True");
                SqlConnection Conn = new SqlConnection(@strConn);
                Conn.Open();
                // Заготовка Sql-предложения Insert ...
                string sInsSql = "Insert into Sotrudniki(SotrId, FIO, Dolgnost, Nomer, DataRozhdeniya, Adres) Values({0}, '{1}', '{2}', '{3}', '{4}', '{5}')";
                // Считываем данные с формы ...
                int ID = Convert.ToInt32(txtID.Text);
                string FIO = txtFIO.Text;
                string Dolgnost = txtDolgnost.Text;
                string DataRozhdeniya = txtDataRozhdeniya.Text;
                string Adres = txtAdres.Text;
                float Nomer = Convert.ToSingle(txtNomer.Text);
                // Формируем запрос на вставку данных с формы ...
                string sInsSotr = string.Format(sInsSql, ID, FIO, Dolgnost, Nomer, DataRozhdeniya, Adres);
                // Создаем команду ...
                SqlCommand cmdIns = new SqlCommand(sInsSotr, Conn);
                // Выполняем команду на вставку записи ..
                cmdIns.ExecuteNonQuery();
                // Выводим сообщение ...
                MessageBox.Show(string.Format("Запись {0} успешно вставлена !", FIO), "Сообщение");
            }
          
        }
 
        private void button1_Click(object sender, EventArgs e) // Очистка полей
        {
            txtID.Text = " "; // Поле №1
            txtFIO.Text = " "; // Поле №2
            txtDolgnost.Text = " "; // Поле №3
            txtNomer.Text = " "; // Поле №3
            txtDataRozhdeniya.Text = " "; // Поле №4
            txtAdres.Text = " "; //Поле №5
        }
 
        
 
        private void txtID_KeyPress1(object sender, KeyPressEventArgs e)
        {
            char number = e.KeyChar;
            if (!Char.IsDigit(number) && number != 8) // цифры и клавиша BackSpace
            {
                e.Handled = true;
            }
        }
     
        
    }
}
0
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 20
19.02.2019, 13:43  [ТС]
База на SQL Server 2008 r2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace БД_сотрудники
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
 
        private void btnExit_Click(object sender, EventArgs e)
        {
            Close();
        }
 
        private void btnInsert_Click(object sender, EventArgs e)
        {
            if ((txtFIO.Text == "") || (txtDolgnost.Text == "") || (txtNomer.Text == "") || (txtDataRozhdeniya.Text == "") || (txtAdres.Text == ""))
            {
                MessageBox.Show("Ошибка исходных данных. \n" + "Необходимо ввести данные во все поля. ", "База по сотрудникам", MessageBoxButtons.OK, MessageBoxIcon.Error);
 
            }
            else
            {
                string strConn = (@"Data Source=(local);Initial Catalog=LoginDB;Integrated Security=True");
                SqlConnection Conn = new SqlConnection(@strConn);
                Conn.Open();
                // Заготовка Sql-предложения Insert ...
                string sInsSql = "Insert into Sotrudniki(SotrId, FIO, Dolgnost, Nomer, DataRozhdeniya, Adres) Values({0}, '{1}', '{2}', '{3}', '{4}', '{5}')";
                // Считываем данные с формы ...
                int ID = Convert.ToInt32(txtID.Text);
                string FIO = txtFIO.Text;
                string Dolgnost = txtDolgnost.Text;
                string DataRozhdeniya = txtDataRozhdeniya.Text;
                string Adres = txtAdres.Text;
                float Nomer = Convert.ToSingle(txtNomer.Text);
                // Формируем запрос на вставку данных с формы ...
                string sInsSotr = string.Format(sInsSql, ID, FIO, Dolgnost, Nomer, DataRozhdeniya, Adres);
                // Создаем команду ...
                SqlCommand cmdIns = new SqlCommand(sInsSotr, Conn);
                // Выполняем команду на вставку записи ..
                cmdIns.ExecuteNonQuery();
                // Выводим сообщение ...
                MessageBox.Show(string.Format("Запись {0} успешно вставлена !", FIO), "Сообщение");
            }
          
        }
 
        private void button1_Click(object sender, EventArgs e) // Очистка полей
        {
            txtID.Text = " "; // Поле №1
            txtFIO.Text = " "; // Поле №2
            txtDolgnost.Text = " "; // Поле №3
            txtNomer.Text = " "; // Поле №3
            txtDataRozhdeniya.Text = " "; // Поле №4
            txtAdres.Text = " "; //Поле №5
        }
 
        
 
        private void txtID_KeyPress1(object sender, KeyPressEventArgs e)
        {
            char number = e.KeyChar;
            if (!Char.IsDigit(number) && number != 8) // цифры и клавиша BackSpace
            {
                e.Handled = true;
            }
        }
     
        
    }
}
Миниатюры
Удаление из dataGridView и базы данных  
0
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 20
19.02.2019, 13:43  [ТС]
База на SQL Server 2008 r2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
 
namespace БД_сотрудники
{
    public partial class Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();
        }
 
      
        private void Form3_Load(object sender, EventArgs e)
        {
            
            // TODO: данная строка кода позволяет загрузить данные в таблицу "loginDBDataSet.Sotrudniki". При необходимости она может быть перемещена или удалена.
            this.sotrudnikiTableAdapter.Fill(this.loginDBDataSet.Sotrudniki);
 
        }
 
        
        private void открытьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Stream myStream;
 
            saveFileDialog1.Filter = "txt files (*.txt)|*.txt";
            saveFileDialog1.FilterIndex = 2;
            saveFileDialog1.RestoreDirectory = true;
 
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                if ((myStream = saveFileDialog1.OpenFile()) != null)
                {
                    StreamWriter myWritet = new StreamWriter(myStream);
                    try
                    {
                        for (int i = 0; i < dataGridView1.RowCount - 1; i++)
                        {
                            for (int j = 0; j < dataGridView1.ColumnCount - 1; j++)
                            {
                                myWritet.Write(dataGridView1.Rows[i].Cells[j].Value.ToString() + " ");
                            }
                            myWritet.WriteLine();
                        }
 
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    finally
                    {
                        myWritet.Close();
                    }
 
                    myStream.Close();
                }
            }
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
           
 
        }
    }
}
0
 Аватар для Tetriandox
2 / 1 / 1
Регистрация: 08.02.2019
Сообщений: 44
19.02.2019, 14:28
ac_sokolov, делайте по аналогии с кнопкой на вставку новой записи. Только вместо запроса на вставку скопируйте мой запрос. И туда передавайте dataGridView1.CurrentRow.Cells["SotrID"].Value.ToString().
т.е. вместо id, fio, dolzhosti и прочего у вас будет только одна id
А вообще немного странно, что вы коннектитесь к бд при нажатии кнопки

Ииии советую посмотреть данное видео. В нем все просто и довольно понятно, если делать по аналогии

https://vk.com/video280449793_... 03f8abb6de
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.02.2019, 14:28
Помогаю со студенческими работами здесь

Заполнение dataGridView из базы данных
Всем привет! Подключаюсь к базе данных в которой 2 таблицы. Нужно заполнить dataGrid1 и dataGrid2 значениями из таблиц table1 и table2...

Выгрузка данных из базы в dataGridView
Всем привет возникла такая проблема при выполнения запроса в dataGridView не всегда поступают данные... Хотя если использовать тужу...

Вывоод базы данных в DataGridview
Есть подключение к базе Access - zayavkaDataSet.xsd. Как вывести базу в DataGridView, что-то сообразить не могу. ...

Отображение базы данных в DataGridView
Здравствуйте! Имеется база данных CompShop, которая состоит из трех таблиц: Goods, Makers и Workers. Я указал в Data Source у DataGridView...

Вывод данных из базы данный в DataGridView
Нужно вывести данные в DataGridView. Вот код: private void mnConnection_Click(object sender, EventArgs e) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru