Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 14.12.2019
Сообщений: 5

Ошибка при добавлении данных

26.04.2021, 12:10. Показов 1291. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть проблема, не могу пока разобраться...
У меня есть форма добавления условного товара
1. основное окно с просмотром товара через datagridview (см. скрин 1)

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DiplomaPractical.Models;
 
namespace DiplomaPractical
{
    public partial class products : Form
    {
        private void GetData()
        {
            using (var db = new IRISKAEntities())
            {
                dataGridView1.DataSource = db.cakes.ToList();
            }
        }
 
 
        public products()
        {
            InitializeComponent();
 
            GetData();
 
            textBox1.DataBindings.Add("Text", dataGridView1.DataSource, "name_cakes");
            textBox2.DataBindings.Add("Text", dataGridView1.DataSource, "type_cakes");
            textBox3.DataBindings.Add("Text", dataGridView1.DataSource, "id_cakes");
            textBox4.DataBindings.Add("Text", dataGridView1.DataSource, "quantity");
            textBox5.DataBindings.Add("Text", dataGridView1.DataSource, "provider");
            textBox6.DataBindings.Add("Text", dataGridView1.DataSource, "id_provider");
        }   
 
        private void products_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "iRISKADataSet.cakes". При необходимости она может быть перемещена или удалена.
            this.cakesTableAdapter.Fill(this.iRISKADataSet.cakes);
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            productsadd padd = new productsadd();
            padd.ShowDialog();
 
            GetData();
           
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            /*try
            {*/
                if (dataGridView1.SelectedRows.Count != 0)
                {
                    using (var db = new IRISKAEntities())
                    {
                        Models.cakes cakesData = db.cakes.Find(dataGridView1.SelectedRows[0].Cells[1].Value);
 
                        db.cakes.Remove(cakesData);
 
                        db.SaveChanges();
                        MessageBox.Show("Данные удалены");
 
                        GetData();
 
                        return;
                    }
                }
                MessageBox.Show("Выберите хотя бы один элемент для удаления!");
            
            /*catch (Exception)
            {
                MessageBox.Show("Ошибка!");
            }*/
        }
    }
}
2. И окно, где я как раз добавляюсм.скрин 2)

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DiplomaPractical.Models;
 
namespace DiplomaPractical
{
    public partial class productsadd : Form
    {
        public productsadd()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            //try
            {
                using (var db = new IRISKAEntities())
                {
                    db.cakes.Add(new Models.cakes()
                    {
                        id_cakes = Convert.ToInt32(textBox3.Text),
                        name_cakes = textBox1.Text,
                        type_cakes = textBox2.Text,
                        quantity = Convert.ToInt32(textBox4.Text),
                        provider = textBox5.Text,
                        id_provider = Convert.ToInt32(textBox6.Text)
                    });
                    db.SaveChanges();
                    MessageBox.Show("Выполнено");
                    Close();
                }
            }
 
            //catch (Exception)
            {
                MessageBox.Show("Ошибка!");
            }
        }
 
        private void productsadd_Load(object sender, EventArgs e)
        {
 
        }
 
    }
}
и вот соответственно код ошибки:

C#
1
2
3
4
5
6
7
8
System.FormatException: "Входная строка имела неверный формат."
Изначально это исключение было создано в этом стеке вызовов:
[Внешний код]
DiplomaPractical.productsadd.button1_Click(object, System.EventArgs) в productsadd.cs
[Внешний код]
DiplomaPractical.products.button1_Click(object, System.EventArgs) в products.cs
[Внешний код]
DiplomaPractical.Program.Main() в Program.cs
Миниатюры
Ошибка при добавлении данных   Ошибка при добавлении данных  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.04.2021, 12:10
Ответы с готовыми решениями:

Ошибка при добавлении данных в БД
Добрый день, форумчане. Создал три класс: public class Customer { public int CustomerId { get; set; } ...

Ошибка при добавлении данных
В программе я пытаюсь добавить записи в таблицу Manufacturer(рис.1) для этого в соответствующие textbox я ввожу соответствующую информацию...

Ошибка при добавлении данных в таблицу
Здравствуйте. Недавно начал изучать Entity Framework. Может кто поможет решить мою проблему. Есть проект WPF в него добавляю локальную...

5
0 / 0 / 0
Регистрация: 14.12.2019
Сообщений: 5
26.04.2021, 12:13  [ТС]
Блоки Try catch закомменчены для того, чтобы увидеть ошибку из-за которой не работает
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
26.04.2021, 12:24
Exsi212,
Посмотрите, на какой строке ошибка и что введено в соответствующий текстбокс.
С такими именами текстбоксов (textBox1, textBox2 и т.д.) запутаться совсем не сложно.
0
0 / 0 / 0
Регистрация: 14.12.2019
Сообщений: 5
26.04.2021, 12:38  [ТС]
Цитата Сообщение от Даценд Посмотреть сообщение
Exsi212,
Посмотрите, на какой строке ошибка и что введено в соответствующий текстбокс.
С такими именами текстбоксов (textBox1, textBox2 и т.д.) запутаться совсем не сложно.
Да, запутаться не сложно, понимаю, но в них ориентируюсь. Смотрите, не выделяет никакой конкретной строки, только целый блок - прикрепляю в скринах.
Миниатюры
Ошибка при добавлении данных  
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
26.04.2021, 15:20
Id_cakes - у Вас же автоинкремент, зачем Вы его суете в модель ?
В гриде тоже его показывать не следует, в боксах для редактирования - тем более.

При вставке новой записи сервер сам присвоит значение этому полю, а EF положит новый id в новую модель после SaveChanges, откуда Вы можете его извлечь, чтобы сделать текущей в гриде.

Добавлено через 1 минуту
И почему Вы совершенно пренебрегаете валидацией введенных юзером данных ?

Добавлено через 1 минуту
Также не понятно зачем Вы при каждом чихе создаете новый контекст ? Почему не создать его один раз при открытии приложения ?

Добавлено через 3 минуты
Не сразу заметил - все, что написано выше относительно Id_cakes, касается и Id_Provider
0
0 / 0 / 0
Регистрация: 14.12.2019
Сообщений: 5
29.04.2021, 16:07  [ТС]
Да, понимаю, просто это учебный процесс, и я не знаю, как мне тогда иначе реализовать добавление. Всё еще не могу найти подходящий способ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.04.2021, 16:07
Помогаю со студенческими работами здесь

При добавлении данных в БД возникает ошибка
Возникла проблема, я добавляю данные в БД, Если добавить все строки кроме group, то все добавляется и отлично работает, как только я...

Ошибка при добавлении данных в datagridview
Есть бд сделанная в acess. При добавлении данных в одной форме,они должны перейти на другую и появится в datagridview. Но при нажатии...

Ошибка при добавлении в базу данных
Здравствуйте уважаемые форумчане. Столкнулся с одной проблемой, которую не в силах решить самостоятельно. А именно, при оформлении заказа в...

Ошибка при добавлении данных в базу
Здравствуйте) Интересует вопрос, по какой причине может возникнуть ошибка изображенная на скрине? Я с базами пока не очень дружу, только...

Ошибка при добавлении новых данных в бд
Доброго времени суток! При добавлении данных в столбец путь(выбирается фото, путь считывается в textbox, а из textbox в запросе этот...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru