Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# и базы данных, ADO.NET

Войти
Регистрация
Восстановить пароль
 
Buckwheat
2 / 2 / 0
Регистрация: 24.02.2015
Сообщений: 30
#1

Удаление выбранной строки в dataGridView - C#

20.06.2017, 14:06. Просмотров 345. Ответов 8
Метки нет (Все метки)

Приветствую. Помогите исправить ошибку "Отсутствует значение для одного или нескольких требуемых параметров".
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
private void удалитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string selected_idmb = dgwMB.CurrentRow.Cells["idMB"].Value.ToString();
            string selected_name = dgwMB.CurrentRow.Cells["nameMB"].Value.ToString();
            string selected_soket = dgwMB.CurrentRow.Cells["soketMB"].Value.ToString();
            string selected_ff = dgwMB.CurrentRow.Cells["ffMB"].Value.ToString();
            string selected_speed = dgwMB.CurrentRow.Cells["speed_systemMB"].Value.ToString();
            string selected_pci = dgwMB.CurrentRow.Cells["portPCIMB"].Value.ToString();
            string selected_audio = dgwMB.CurrentRow.Cells["portAGPMB"].Value.ToString();
            string selected_pcie = dgwMB.CurrentRow.Cells["portPCIEMB"].Value.ToString();
            string selected_ide = dgwMB.CurrentRow.Cells["portIDEMB"].Value.ToString();
            string selected_sata = dgwMB.CurrentRow.Cells["portSATAMB"].Value.ToString();
            string selected_rom = dgwMB.CurrentRow.Cells["typeROMMB"].Value.ToString();
            string selected_price = dgwMB.CurrentRow.Cells["priceMB"].Value.ToString();
 
            System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(PCConfig.Properties.Settings.Default.Connection_String);
            System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();
            cmd.Connection = con;
            cmd.CommandText = "delete * from tblMB where idMB = '" + selected_idmb + "' AND nameMB = '" + selected_name + "' AND soketMB = '" + selected_soket + "' AND ffMB = '" + selected_ff + "' AND speed_systemMB = '" + selected_speed + "' AND portPCIMB = '" + selected_pci + "' AND portAGPMB = '" + selected_audio + "' AND portPCIEMB = '" + selected_pcie + "' AND portIDEMB = '" + selected_ide + "' AND portSATAMB = '" + selected_sata + "' AND typeROMMB = '" + selected_rom + "' AND priceMB = '" + selected_price + "'";
 
            con.Open();
 
            cmd.ExecuteNonQuery();
 
            con.Close();
 
            this.Close();
        }
Добавлено через 6 минут
быстрофикс. Не столбца, а строки.

Добавлено через 11 часов 49 минут
бамп
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2017, 14:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Удаление выбранной строки в dataGridView (C#):

Удаление выбранной строки из datagridview - C#
Здравствуйте Можно ли удалить строку из datagridview не по id строки. Нужно чтобы в datagridview выводило записи из таблицы без столбца...

DataGridView взять данные из выбранной строки. - C#
Добрый день. Я пишу виндовс приложение с базой данных. И у меня такой вопрос как узнать какая строка DataGridView была выбрана...

Удаление выбранной строки в GridView sql - C#
как организовать удаление выбранной строки из грида? бд HeidiSQL подключен кодом без database. имеется таблица "данныеопрограмме" со...

Как составить запрос на удаление одной выбранной мною строки - C#
Как составить запрос на удаление одной выбранной мною строки. Если я не понятно задаю вопрос, то пожалуйста скажите что ещё нужно вам...

Во втором DataGridView отобразить данные, используя значения выбранной строчки первого DataGridView - C#
Доброго времени суток, Ув. Форумчане! Такой вопрос: Во во втором DataGridView отобразить данные используя значения выбранной строчки...

Удаление строки в DataGridView и в БД - C#
Всем привет. Подскажите пожалуйста, как можно удалить выбранную строку в DataGridView и в БД? БД у меня в SQL Servere. Пожалуйста, помогите...

8
netBool
215 / 218 / 74
Регистрация: 16.11.2010
Сообщений: 814
Записей в блоге: 8
Завершенные тесты: 5
20.06.2017, 18:30 #2
По идее запрос составлен правильно. Возможно, одно из значений пустое и обработчику это не нравится. Ошибка возникает на cmd.ExecuteNonQuery?
0
Buckwheat
2 / 2 / 0
Регистрация: 24.02.2015
Сообщений: 30
20.06.2017, 22:58  [ТС] #3
Да, ошибка там
0
Diamante
1254 / 1015 / 320
Регистрация: 14.08.2016
Сообщений: 3,529
Завершенные тесты: 1
20.06.2017, 23:59 #4
а стоит ли городить такой огород, если известен id? по его значению и удаляй, или idMB не уникальное(ключевое) поле?
0
Buckwheat
2 / 2 / 0
Регистрация: 24.02.2015
Сообщений: 30
21.06.2017, 00:51  [ТС] #5
Та же самая ошибка
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
string selected_idmb = dgwMB.CurrentRow.Cells["idMB"].Value.ToString();
            System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(PCConfig.Properties.Settings.Default.Connection_String);
            System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();
            cmd.Connection = con;
            cmd.CommandText = "delete * from tblMB where idMB = '" + selected_idmb + "'";
 
            con.Open();
 
            cmd.ExecuteNonQuery();
 
            con.Close();
 
            this.Close();
0
bax_tang
.NET senior
406 / 327 / 91
Регистрация: 23.09.2016
Сообщений: 945
Завершенные тесты: 3
21.06.2017, 05:27 #6
Buckwheat, а у Вас столбец первичного ключа idMb текстовый или всё-таки числовой? Потому что в Вашем коде Вы передаёте строку (заключая значение selected_idmb в одинарные кавычки), и если столбец idMb имеет числовой тип, то при выполнении этого запроса будет возникать ошибка.
0
buckwheatt
0 / 0 / 0
Регистрация: 15.12.2016
Сообщений: 6
21.06.2017, 05:47 #7
Таки числовой. А не подскажете как правильно написать?
0
Agapov_stas
3332 / 1735 / 78
Регистрация: 05.08.2010
Сообщений: 4,446
Завершенные тесты: 1
21.06.2017, 09:13 #8
Цитата Сообщение от buckwheatt Посмотреть сообщение
А не подскажете как правильно написать?
C#
1
2
3
4
5
6
7
using(System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(PCConfig.Properties.Settings.Default.Connection_String)){
    int i =Convert.ToInt32(dgwMB.CurrentRow.Cells["idMB"].Value)
    System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand("DELETE * FROM tblMB WHERE idMB=@p1", con);
    cmd.Parameters.AddWithValue("@p1", i);
    con.Open();
    cmd.ExecuteNonQuery();
}
0
Buckwheat
2 / 2 / 0
Регистрация: 24.02.2015
Сообщений: 30
21.06.2017, 16:18  [ТС] #9
Все равно ошибка(Удаление выбранной строки в dataGridView
0
21.06.2017, 16:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2017, 16:18
Привет! Вот еще темы с ответами:

Удаление строки из БД и datagridview - C#
Людииии,помогите на форме грид и кнопка на удаление строки из грида и соответственно из бд.Пока стоял MS SQL проблем небыло (там это и в...

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

Удаление строки из DataGridView субд SQLite - C#
Уважаемые программисты, возникла проблема. Простите за корявый русский, башня уже вяло соображает..) Имеется БД SQLite, из нее...

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru