Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Buckwheat
2 / 2 / 0
Регистрация: 24.02.2015
Сообщений: 30
#1

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

20.06.2017, 14:06. Просмотров 376. Ответов 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
Здравствуйте Можно ли удалить строку из datagridview не по id строки. Нужно чтобы в datagridview...

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

Как из выбранной строки в DataGridView вытянуть id связанной таблицы?
Имеется таблица: id, имя, фамилия, id должности. В DataGridVeiw отображается не id должности, а...

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

Как сделать так что-бы считал данные выбранной строки в DataGridView
Доброго времени суток, не могу понять как сделать так что-бы программа смогла посчитать каждую...

8
netBool
238 / 241 / 148
Регистрация: 16.11.2010
Сообщений: 917
Записей в блоге: 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
1269 / 1025 / 649
Регистрация: 14.08.2016
Сообщений: 3,547
Завершенные тесты: 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
418 / 339 / 134
Регистрация: 23.09.2016
Сообщений: 966
Завершенные тесты: 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
3336 / 1739 / 82
Регистрация: 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 отобразить данные, используя значения выбранной строчки первого DataGridView
Доброго времени суток, Ув. Форумчане! Такой вопрос: Во во втором DataGridView отобразить данные...

Удаление строки из БД и datagridview
Людииии,помогите на форме грид и кнопка на удаление строки из грида и соответственно из бд.Пока...


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

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

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