Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, Entity Framework
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 20.05.2016
Сообщений: 6
1

Ошибка при сохранении изменений в DataGridView

04.06.2016, 19:14. Показов 1438. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Ребята выручайте! При нажатии на кнопку должны сохраняться изменения, но вылетает такая вот ошибка
Необработанное исключение типа "System.ArgumentNullException" в System.Data.dll

Дополнительные сведения: Значение не может быть неопределенным.
Код кнопки вот:
C#
1
2
3
4
5
6
       
 private void button2_Click(object sender, EventArgs e)
        {
            cb = new OleDbCommandBuilder(adapter);
            adapter.Update(dataset.Tables["ГосЗакуп"]);
        }
Перечитала много много всего, но так и не поняла в чем дело.
P.S. БД access, использую DataSet
Миниатюры
Ошибка при сохранении изменений в DataGridView  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.06.2016, 19:14
Ответы с готовыми решениями:

DataGridView Ошибка при сохранении внесенных изменений
Здравствуйте! Пытаюсь сделать сохранение внесенных изменений и получаю вот такую ошибку...

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

Ошибка при сохранении изменений в БД: "Для обновления требуется действительный UpdateCommand"
делаю кнопку сохранения, вылетает ошибка "Для обновления требуется действительный UpdateCommand при...

Обновить данные на форме при сохранении изменений в БД
Здравствуйте! У меня на форме 2 одинаковых панели. панель1 в Label'ы, при открытии формы,...

9
44 / 44 / 24
Регистрация: 01.05.2012
Сообщений: 178
04.06.2016, 19:32 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
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
 
namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string connetionString = null;
            OleDbConnection connection ;
            OleDbDataAdapter oledbAdapter = new OleDbDataAdapter();
            string sql = null;
            connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Your mdb filename;";
            connection = new OleDbConnection(connetionString);
            sql = "update Users set Password = 'new password' where UserID = 'user1'";
            try
            {
                connection.Open();
                oledbAdapter.UpdateCommand = connection.CreateCommand();
                oledbAdapter.UpdateCommand.CommandText = sql;
                oledbAdapter.UpdateCommand.ExecuteNonQuery();
                MessageBox.Show ("Row(s) Updated !! ");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
    }
}
1
0 / 0 / 0
Регистрация: 20.05.2016
Сообщений: 6
04.06.2016, 19:55  [ТС] 3
Сейчас попробую переделать по Вашему примеру

Добавлено через 6 минут
Цитата Сообщение от Sigma214 Посмотреть сообщение
sql = "update Users set Password = 'new password' where UserID = 'user1'";
Подскажите пожалуйста, а что означает new password и user1?
0
44 / 44 / 24
Регистрация: 01.05.2012
Сообщений: 178
04.06.2016, 19:56 4
Цитата Сообщение от Jul56 Посмотреть сообщение
Сообщение от Sigma214
sql = "update Users set Password = 'new password' where UserID = 'user1'";
Подскажите пожалуйста, а что означает new password и user1?
Это пример SQL запроса на обновление данных.
0
0 / 0 / 0
Регистрация: 20.05.2016
Сообщений: 6
04.06.2016, 20:13  [ТС] 5
Я понимаю, что это запрос))
C#
1
sohr = "update [ГосЗакуп] set КБК = 'КБК' where № = '№'";
Сделала запрос по этому примеру (хотя не уверена что должно вот на этом месте - 'КБК' и '№'), выдает ошибку:
Миниатюры
Ошибка при сохранении изменений в DataGridView  
0
44 / 44 / 24
Регистрация: 01.05.2012
Сообщений: 178
04.06.2016, 20:14 6
скиньте скриншот формы, чтобы я более менее понимал что происходит.
0
0 / 0 / 0
Регистрация: 20.05.2016
Сообщений: 6
04.06.2016, 20:22  [ТС] 7
Вот скрины (для пробы пишу запрос на сохранение изменений в одном столбце, хотя нужно будет сохранять изменения во всех столбцах)
Миниатюры
Ошибка при сохранении изменений в DataGridView   Ошибка при сохранении изменений в DataGridView  
0
0 / 0 / 0
Регистрация: 20.05.2016
Сообщений: 6
04.06.2016, 20:25  [ТС] 8
Вот как у меня происходит подключение и заполнение грида
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
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 System.Data.OleDb;
using System.Windows.Forms.DataVisualization.Charting;
 
 
namespace t4
{
    public partial class Form1 : Form
    {
        private BindingSource bindingsource = new BindingSource();
        DataSet dataset = new DataSet();//создаем хранилище кэша
        OleDbConnection connection = new OleDbConnection();//объявляем объект connection(подключение)
        String podkl = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\bd\База данных1.mdb;Persist Security Info=False";
        OleDbDataAdapter adapter=new OleDbDataAdapter();
        //OleDbCommand comanda;
        OleDbCommandBuilder cb;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            dataGridView1.Visible = false;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            //выполняем подключение, указывая путь к бд и его провайдер
            connection.ConnectionString = podkl;
            try
            {
                connection.Open();
            }
            catch
            {
                MessageBox.Show("Ошибка соединения с бд");
            }
            dataGridView1.Visible = true;
            //составляем SQL-запрос 
            string zapr = "SELECT  №, КБК, ОКВЭД, ОКПД, [№ заказа(№ лота)], Наим_предм_контракта, Мин_необх_треб, Ед_измерения, Количество, [Ориентир_начальная цена], Усл_финанс_обеспеч_исполн_контракта, [Срок размещ заказа], [Срок исполн заказа], [Способ размещ заказа], Обосн_внес_изм, [Ответственный за исполнение], Факт_сумма, [Реквизиты договора] FROM ГосЗакуп";
            OleDbCommand comanda = new OleDbCommand(zapr, connection);
            //создаем адаптер для управления кэшированием данных
            adapter.SelectCommand = comanda;
            adapter.SelectCommand.Connection = connection;
            adapter.Fill(dataset);//копируем данные в dataset
            //OleDbCommand ost = new OleDbCommand("SELECT [Ориентир_начальная цена] - [Факт_сумма] FROM ГосЗакуп", connection);
            dataset.Tables[0].Columns.Add("Остаток", typeof(String), "[Ориентир_начальная цена] - [Факт_сумма]");
            dataGridView1.AutoGenerateColumns = true;//если true ,то сетки в колонке генерируются автоматически
            //связываем данные с элементом DataGridView: 
            bindingsource.DataSource = dataset.Tables[0];//нулевой элемент, т.к. таблица всего одна
            dataGridView1.DataSource = bindingsource;
        }
0
44 / 44 / 24
Регистрация: 01.05.2012
Сообщений: 178
04.06.2016, 20:35 9
а Вы добавляете данные в БД через дополнительную форму или как? или сразу через DataGridView?
0
0 / 0 / 0
Регистрация: 20.05.2016
Сообщений: 6
05.06.2016, 16:55  [ТС] 10
Прямо в гриде и пишу)))

Добавлено через 20 часов 15 минут
Sigma214, спасибо за помощь.
Не знаю в чем было дело, но проблема разрешилась переименованием столбцов в бд. Теперь все изменения сохраняются))
0
05.06.2016, 16:55
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.06.2016, 16:55
Помогаю со студенческими работами здесь

Выводит ошибку при сохранении изменений. MS Access
Добавил oleDbDataAdapter из toolbox'а на форму.Соединил с базой MS Access. От нее создал датасет....

Преобразование типа Date в Datagridview при сохранении в базе MYSQL
Друзья подскажите пожалуйста как преобразовать дату при сохранении из Datagrid...

Ошибка при сохранении dataGridView в Excel файл.
Хочу сохранить датугридвью в эксель файл. Выдает следующую ошибку. Может я забыл подгрузить...

Ошибка при сохранении
Здраствуйте! У меня следующая проблема, мне нужно по щелчку мыши из столбца kolvo_t текущей записи...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Создание макробота, как способа экономии времени и варианта ИИ.
Hrethgir 28.01.2025
Чисто теоретически, создание ИИ на ПК можно разделить на части. Создать бота отвечающего за железо (эмулирование вкл, выкл, мышь, клавиатура), другой бот осуществляет распознавание изображений,. . .
[Golang] 121. Best Time to Buy and Sell Stock
alhaos 28.01.2025
В этой задаче мы получаем слайс целых чисел, которые означают цену акции в разные моменты времени, и должны вернуть максимально возможную прибыль от купли продажи акции. / / . . .
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru