Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Insomnium
1 / 1 / 0
Регистрация: 21.03.2011
Сообщений: 46
#1

Параметр не имеет значения по умолчанию - C#

14.03.2013, 07:14. Просмотров 1318. Ответов 1
Метки нет (Все метки)

Здравствуйте.

Такая проблема. На форме есть DateGridViev, в которую заносятся данные из DataSet, в DataSet данные заносятся из БД при помощи адаптера. Еще на форме есть comboBox, в котором содержится параметр для выполнения запросов к БД.

Так выглядит часть кода, отвечающая за добавления в адаптер команды на удаление.
C#
1
2
3
4
5
6
7
8
9
productParameterDataAdpter.DeleteCommand = new OleDbCommand(
    "DELETE FROM [Parameter Group] WHERE ([Group code] = @groupCode) AND ([Parameter code] = @parCode)", newConn); 
                    
OleDbParameter parCodePar = new OleDbParameter("@parCode",OleDbType.Integer);
normPar2.SourceColumn  = "Код параметра";
productParameterDataAdpter.DeleteCommand.Parameters.Add(parCodePar);
                        
OleDbParameter newGroupCodePar = new OleDbParameter("@groupCode", comboBox2.SelectedValue);
productParameterDataAdpter.DeleteCommand.Parameters.Add(newGroupCodePar).Value = comboBox2.SelectedValue;
Тут один из параметров @parCode берется из DataSet, а второй берется из comboBox.

Затем я вручную удаляю строку из DateGridViev и пытаюсь сохранить изменения в БД таким кодом:
C#
1
productParameterDataAdpter.Update(journalDS, "SpecificParameters");
и получаю ошибку с текстом "Параметр @groupCode не имеет значения по умолчанию".

Насколько я понимаю, второй параметр констуктора OleDbParameter и есть значение по умолчанию.

Что я делаю не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2013, 07:14     Параметр не имеет значения по умолчанию
Посмотрите здесь:

C# Вызов хранимой процедуры, возрвщающей параметр
C# Выходной параметр хранимой процедуры
C# Как передать параметр NULL?
C# Выбор столбца,если имя столба параметр
C# Задание ID по умолчанию
C# MySqlDataAdapter: что за параметр в fill методе
Передать пустой параметр в запросе C#
Процедура или функция "ИмяФункции" ожидает параметр "@Параметр", который не был указан C#
Получение значения CheckBox и внесение его значения в БД C#
Недопустимый параметр при создании таблицы C# MySQL
Недопустимый параметр connectionstring C# SQLite
C# Недопустимый параметр при считывании изображения из БД

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Urety
Заблокирован
14.03.2013, 13:41     Параметр не имеет значения по умолчанию #2
Могу предположить, что DataAdapter, ищет все параметры в DataSet и если не находит, ругается. МОжно сделать еще 1 стобец в DataSet.не отображаемый в DataGridView, и перед обновлением заполняемый из comoBox. Либо, например, так:
C#
1
2
3
4
5
6
 System.Data.OleDb.OleDbDataAdapter productParameterDataAdpter=new OleDbDataAdapter();
            productParameterDataAdpter.DeleteCommand=new OleDbCommand("DELETE FROM [Parameter Group] WHERE ([Group code] = {0}) AND ([Parameter code] = @parCode)", newConn); 
 
            //Надо обновить
            productParameterDataAdpter.DeleteCommand.CommandText=
                String.Format(productParameterDataAdpter.DeleteCommand.CommandText,comboBox2.SelectedValue);
Yandex
Объявления
14.03.2013, 13:41     Параметр не имеет значения по умолчанию
Ответ Создать тему
Опции темы

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