Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > Форум Форум программистов > Форум .NET > Форум C# .NET > Форум C# и базы данных, ADO.NET
Восстановить пароль Регистрация

Ответ Создать новую тему
 
14.03.2013, 07:14   #1
Insomnium
Новичок
Регистрация: 21.03.2011
Сообщений: 43
Репутация: 1 (1)
Параметр не имеет значения по умолчанию / C# и базы данных, ADO.NET

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

Такая проблема. На форме есть 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 и есть значение по умолчанию.

Что я делаю не так?
14.03.2013, 07:14
AdAgent
Объявления
14.03.2013, 13:41   #2
Urety
Заблокирован
Параметр не имеет значения по умолчанию / C# и базы данных, ADO.NET

Могу предположить, что 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);
Другие темы раздела
C# ADO.NET Доступ к БД из локальной сети
Здравствуйте коллеги! Есть несколько вопросов на счет SQL сервера 1) Написал небольшую программу которая работает с БД. На моем компьютере программа запускается и работает отлично с базой. Базу установил одном компьютере. На этом компьютере это приложение работает отлично но вот с клиентского...
C# ADO.NET Определение одинаковых значений в разных строках таблицы DataTable
Здравствуйте. У меня есть задача не могу придумать логику как её правильно организовать. Есть таблица DATATEBLE в которой ежедневно обновляется информация и которую я получаю из БД. В ней может быть различное количество строк. Я ищу по одному столбцу в котором значения могут быть одинаковыми в...
14.03.2013, 13:41
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
Delphi БД: Поиск по 2 таблицам и ошибка "Параметр не имеет значения по умолчанию"
Нужно сделать поиск по двум таблицам Ремонт_компьютеров и Ремонт_ноутбуков по выбранным полям ", S/N, Код," данные поля есть в обеих таблицах. Пишу обработчик на кнопку и вылазит ошибка, что в нем не так? var str:string; search:string; begin DBGrid1.Visible:=true; str:=Edit1.Text;...
Delphi и базы данных Bestseller 26.01.2014 22:33
Visual Basic .NET: .NET 4.x БД "Параметр не имеет значения по умолчанию."
Здравствуйте.Кто может помочь.Написал прогу которая работает с БД. на первой форме работало норм.(сохр.изм.удал.) а на других выходит это"Параметр ?_9 не имеет значения по умолчанию"-параметр меняется постоянно "9,10,1 и т.д.",а сейчас ничего вообще на первой не делает. Подскажите пожаслта с чем...
Visual Basic .NET richi3337 14.12.2013 23:18
C++ Builder БД: SQL ругается, пишет что параметр не имеет значения по умолчанию
ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add("SELECT svedenia_o_knigah.kod FROM postupivshie,realizacia,svedenia_o_knigah WHERE svedenia_o_knigah=realizacia.kod and svedenia_o_knigah.kod = postupivshie.kod "); ADOQuery1->Open(); пишет что параметр svedenia_o_knigah не имеет значения по...
C++ Builder и базы данных семен161994 11.06.2013 15:51
Delphi БД: Параметр не имеет значения по умолчанию
Что в запросе не так, помогите пожалуйста procedure TForm1.sButton4Click(Sender: TObject); //приход товара var kol1, kol2, i, j:integer; begin ADOQuery2.Close; ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add('insert into Склад (Вид_изделия, Наименование_изделия, Количество) select Вид_изделия,...
Delphi и базы данных II_Dimit_II 29.05.2013 10:40
Delphi БД: параметр не имеет значения по умолчанию
Всем привет! Не могу составить Sql запрос в access Пишет: параметр дизайнерская не имеет значение по умолчанию Код: procedure TForm1.Button3Click(Sender: TObject); begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT Дизайнерская From Класс_БУМАГИ'); ADOQuery1.Open;
Delphi и базы данных xBios 08.04.2013 14:44
Опции темы

Текущее время: 12:17. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.