Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > > > >
Восстановить пароль Регистрация
 
Insomnium
Новичок
1 / 1 / 0
Регистрация: 21.03.2011
Сообщений: 43
14.03.2013, 08:14     Параметр не имеет значения по умолчанию   #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 и есть значение по умолчанию.

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

C# Вызов хранимой процедуры, возрвщающей параметр
C# Выходной параметр хранимой процедуры
C# Как передать параметр NULL?
C# Задание ID по умолчанию
C# MySqlDataAdapter: что за параметр в fill методе
C# DataGridView ComboBoxColumn установить значение по умолчанию
C# Передать пустой параметр в запросе
C# Процедура или функция "ИмяФункции" ожидает параметр "@Параметр", который не был указан
Urety
Заблокирован
14.03.2013, 14: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);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Опции темы

Текущее время: 15:06. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.
Яндекс.Метрика