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

Выходит ошибка "Не удалось включить ограничения"

09.05.2018, 19:36. Просмотров 223. Ответов 7
Метки нет (Все метки)

По меньшей мере одна строка содержит значение, нарушающее ограничения по отсутствию пустых значений, уникальности или внешним ключам.
Имеется форма с ComboBox4 из которой id (n_sub) передается в запрос, запрос осуществляется и возвращает список журналов для выбранного id Клиента (name_prs) в DataGridView1. Запрос в Конструкторе запросов выполняется успешно. При запуске самой формы и выборе клиента происходит выброс данного исключения. В самой БД ничего не удалялось, в самом коде с получаемыми данными ничего не делал. Код из Form1.Designer относящийся сабжу:
C#
1
2
3
4
5
6
7
8
this.comboBox4.DataSource = this.subsBindingSource;
            this.comboBox4.DisplayMember = "fio_sub";
            this.comboBox4.FormattingEnabled = true;
            this.comboBox4.Location = new System.Drawing.Point(90, 175);
            this.comboBox4.Name = "comboBox4";
            this.comboBox4.Size = new System.Drawing.Size(256, 21);
            this.comboBox4.TabIndex = 0;
            this.comboBox4.ValueMember = "n_sub";
Код из Form1.cs:
C#
1
2
3
4
5
private void button4_Click(object sender, EventArgs r)
        {
            
            dataGridView1.DataSource = subscribedTableAdapter.GetDataBy5(Convert.ToInt32(this.comboBox4.SelectedValue));
        }
Скрины для наглядности ниже. Подсобите что сделать можно, а то уже всю голову сломал и гугл-яндекс обыскал.
0
Миниатюры
Выходит ошибка "Не удалось включить ограничения"   Выходит ошибка "Не удалось включить ограничения"   Выходит ошибка "Не удалось включить ограничения"  

Выходит ошибка "Не удалось включить ограничения"  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2018, 19:36
Ответы с готовыми решениями:

Сохранение в БД. (DataAdapter и параметры. Ошибка "Нарушение "IX_Countries" ограничения UNIQUE KEY.")
Всем привет! Пишу курсач и самостоятельно разбираюсь в ado.net. Возникла проблема. В БД есть...

Ошибка "Не удалось привести тип объекта "System.Data.DataRowView" к типу "System.IConvertible""
Здравствуйте,столкнулся с некой ошибкой.Привязал данные к comboBox пытаюсь выполнить процедуру...

При обновлении базы выходит ошибка "conversion error from string "27,5""
Здравствуйте при обновлении базы выходит ошибка "conversion error from string "27,5"" на картинке...

Обновление источника данных и ошибка "Не удалось привести тип объекта "System.Data.DataView" к типу "System.Data.IDataReader"
Доброй ночи. При попытке обновления источника данных, выбрасывает следущую ошибку: "Не удалось...

Как исправить ошибку ""Ссылки на тип "Component" требует его определения в "System", но его не удалось найти"?
using System; using System.Collections.Generic; using System.Data.OleDb; using System.Linq;...

7
StEp1Up
0 / 0 / 0
Регистрация: 16.12.2016
Сообщений: 13
09.05.2018, 19:44  [ТС] 2
Текст "Сведения" прилагаю
Кликните здесь для просмотра всего текста

************** Текст исключения **************
System.Data.ConstraintException: Не удалось включить ограничения. По меньшей мере одна строка содержит значение, нарушающее ограничения по отсутствию пустых значений, уникальности или внешним ключам.
в System.Data.DataTable.EnableConstraints()
в System.Data.DataTable.set_EnforceConstraints(Boolean value)
в System.Data.DataTable.EndLoadData()
в System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
в System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
в System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
в System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
в System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
в WindowsFormsApp4.SubscriberDataSetTableAdapters.SubscribedTableAdapter.GetDataBy5(Nullable`1 n_sub) в C:\Users\aleks\source\repos\WindowsFormsApp4\WindowsFormsApp4\SubscriberDataSet.Designer.cs:строка 2780
в WindowsFormsApp4.Form1.button4_Click(Object sender, EventArgs r) в C:\Users\aleks\source\repos\WindowsFormsApp4\WindowsFormsApp4\Form1.cs:строка 188
в System.Windows.Forms.Control.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ButtonBase.WndProc(Message& m)
в System.Windows.Forms.Button.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
0
Usaga
Эксперт .NET
5093 / 3447 / 611
Регистрация: 21.01.2016
Сообщений: 13,611
Завершенные тесты: 2
10.05.2018, 10:45 3
Цитата Сообщение от StEp1Up Посмотреть сообщение
По меньшей мере одна строка содержит значение, нарушающее ограничения по отсутствию пустых значений, уникальности или внешним ключам.
Вам в этом предложении что именно не понятно?
0
StEp1Up
0 / 0 / 0
Регистрация: 16.12.2016
Сообщений: 13
10.05.2018, 13:39  [ТС] 4
Дак все понятно, дело в том, что все строки в базе уникальны как вы можете убедиться в скриншоте с содержанием таблицы, пустых значений тоже не наблюдаю, если бы были проблемы с внешними ключами, то запрос бы не выполнялся и в конструкторе запроса. Вот и не могу допетрить на что оно там ругаться может.
0
Usaga
Эксперт .NET
5093 / 3447 / 611
Регистрация: 21.01.2016
Сообщений: 13,611
Завершенные тесты: 2
10.05.2018, 13:59 5
StEp1Up, СУБД не будет вас обманывать. Если она говорит, что вы ей кривые данные подсунули, значит так оно и есть. Смотрите, что ваш код в базу пихает и все вопросы сразу отпадут.
0
StEp1Up
0 / 0 / 0
Регистрация: 16.12.2016
Сообщений: 13
10.05.2018, 14:12  [ТС] 6
Ну у меня стоит ComboBox в котором отображается имя клиента, в этой таблице рядом с этим именем у меня id этого клиента, я и передаю этот id в запрос в качестве аргумента. Может надо что-нибудь подкорректировать в данном участке кода?
C#
1
dataGridView1.DataSource = subscribedTableAdapter.GetDataBy5(Convert.ToInt32(this.comboBox4.SelectedValue));
Попробовал передавать ValueMember
C#
1
dataGridView1.DataSource = subscribedTableAdapter.GetDataBy5(Convert.ToInt32(this.comboBox4.ValueMember));
, где вроде бы как хранится имя столбца
C#
1
2
this.comboBox4.DisplayMember = "fio_sub";
this.comboBox4.ValueMember = "n_sub";
, но словил ошибку "Входная строка имела неверный формат".
0
Даценд
Модератор
Эксперт .NET
4206 / 3970 / 2627
Регистрация: 20.04.2015
Сообщений: 7,212
10.05.2018, 14:15 7
StEp1Up,
Измените строку на
C#
1
dataGridView1.DataSource = subscribedTableAdapter.GetDataBy5(1);
Выполните запрос.
Если выполнился, то верните на место this.comboBox4.SelectedValue, поставьте на эту строку точку останова и посмотрите в отладчике, чему это SelectedValue равно.
0
StEp1Up
0 / 0 / 0
Регистрация: 16.12.2016
Сообщений: 13
10.05.2018, 14:28  [ТС] 8
Что интересно, на аналогичных запросах но с выводом одного числа (результата) в TextBox у меня отлично работает именно с SelectedValue

Добавлено через 51 секунду
Окей сейчас попробую

Добавлено через 2 минуты
Хм, а запрос то и не выполняется, выдает ошибку с ограничениями. Что-то может запрос не принимает?

SELECT Press.name_prs
FROM (Subscribed INNER JOIN
Press ON Subscribed.ind = Press.index_prs)
WHERE (Subscribed.n_sub = ?)

Добавлено через 8 минут
Попробовал с остановкой в БД передает "1", если в комбобоксе выбран первый клиент, т.е. как и надо. Запрос ждет от меня эту единицу выполняет ее и видимо что-то не то отдает обратно.
0
10.05.2018, 14:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2018, 14:28

Ошибка "не удалось найти запрошенного поставщика данных"
Ошибка не удалось найти запрошенного поставщика данных .Net framework. Возможно он не установлен....

Ошибка: Не удалось найти имя типа или пространства имен "SqlException"
Добавление Строки в таблицу базы данных, Через клиентское приложение c#, Нужно вывести ошибку в...

Не удалось привести тип объекта "ТоварRow" к типу "System.Data.DataRowView"
Здравствуйте, делаю приложение-магазин компьютерных комплектующих и др. При создании корзины...


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

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

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