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

Не удалось привести тип объекта "ТоварRow" к типу "System.Data.DataRowView"

22.04.2017, 10:40. Показов 2686. Ответов 9

Студворк — интернет-сервис помощи студентам
Здравствуйте, делаю приложение-магазин компьютерных комплектующих и др. При создании корзины возникли проблемы, точнее проблемы с фильтром, после фильтрации в DGView данным кодом:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                    var query = from o in this.pCSHOP_DBDataSet.Товар
                                where o.Имя_Товара.Contains(textBox1.Text)
                                select o;
 
                    товарBindingSource1.DataSource = query.ToList();
            }
 
            if (e.KeyCode == Keys.Escape)
            {
                
                textBox1.Text = "";
                var query = from o in this.pCSHOP_DBDataSet.Товар
                            where o.Имя_Товара.Contains(textBox1.Text)
                            select o;
 
                товарBindingSource1.DataSource = query.ToList();
 
            }
        }
не добавляются значения в другую таблицу

C#
1
2
3
4
5
6
7
8
 private void Save_BD_Button_Click(object sender, EventArgs e)
        {
           var drw = ((PCSHOP_DBDataSet.ТоварRow)((DataRowView)товарBindingSource1.Current).Row);
 
                корзинаTableAdapter.Insert(drw.Имя_Товара, drw.Тип_Товара, drw.Цена, drw._Кол_во);
                корзинаTableAdapter.Update(pCSHOP_DBDataSet.Корзина);
                корзинаTableAdapter.Fill(pCSHOP_DBDataSet.Корзина);
        }
ошибка Не удалось привести тип объекта "ТоварRow" к типу "System.Data.DataRowView".
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.04.2017, 10:40
Ответы с готовыми решениями:

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

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

Не удалось привести тип объекта "System.DateTime" к типу "System.String"
В Sql есть таблица с типом данных data. Мне нужно, преобразовать этот тип в тот, с которым можно будет работать в C#. Я пытался...

9
0 / 0 / 0
Регистрация: 18.12.2015
Сообщений: 44
22.04.2017, 11:00  [ТС]
Скрин ошибки
Миниатюры
Не удалось привести тип объекта "ТоварRow" к типу "System.Data.DataRowView"  
0
0 / 0 / 0
Регистрация: 18.12.2015
Сообщений: 44
22.04.2017, 11:07  [ТС]
Исходник
Вложения
Тип файла: rar PCSHOP.rar (7.27 Мб, 9 просмотров)
0
 Аватар для Aferuga
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
22.04.2017, 16:50
Как вариант:
C#
1
2
3
4
5
6
7
           var drw = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex];
                корзинаTableAdapter.Insert(drw.Cells["Имя_Товара"].Value.ToString(),
                                           drw.Cells["Тип_Товара"].Value.ToString(),
                                           int.Parse(drw.Cells["Цена"].Value.ToString()),
                                           int.Parse(drw.Cells["_Кол_во"].Value.ToString()));
                корзинаTableAdapter.Update(pCSHOP_DBDataSet.Корзина);
                корзинаTableAdapter.Fill(pCSHOP_DBDataSet.Корзина);
0
0 / 0 / 0
Регистрация: 18.12.2015
Сообщений: 44
22.04.2017, 16:59  [ТС]
Ошибка
Миниатюры
Не удалось привести тип объекта "ТоварRow" к типу "System.Data.DataRowView"  
0
 Аватар для Aferuga
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
22.04.2017, 17:08
зайдите в грид и переименуйте свойство Name столбцов соответственно или поставьте индексы
0
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
23.04.2017, 11:13
В чем смысл этого кода?
Цитата Сообщение от BlueZa Посмотреть сообщение
C#
1
2
корзинаTableAdapter.Insert(drw.Имя_Товара, drw.Тип_Товара, drw.Цена, drw._Кол_во);
корзинаTableAdapter.Update(pCSHOP_DBDataSet.Корзина);
Метод Update всё равно обновит все данные, в том числе и ту строку, которую вы вставляете в БД методом Insert. Получите дублирование строк.
0
0 / 0 / 0
Регистрация: 18.12.2015
Сообщений: 44
24.04.2017, 15:07  [ТС]
Теперь при поиске товаров по поисковой сроке dgview показывает отфильтрованный товар, но при попытке добавить его в корзину он добавляет товар который был в данной ячейке до сортировки (если отфильтровали и получилось 2 товара то он добавит 1 и 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
private void " Добавление в корзину "(object sender, EventArgs e)
        {
           
            queryproducttext = Searchtxtbox.Text; //сохраняем значение поиска
 
            this.товарTableAdapter.Fill(this.PCSHOP_DBDataSet.Товар);  
            товарBindingSource1.DataSource = this.PCSHOP_DBDataSet.Товар;// не знаю зачем но только из за этих 2 строк продолжается работа всего след. кода
 
            var drw = ProductsDataGridView.Rows[ProductsDataGridView.CurrentCell.RowIndex];
 
            корзинаTableAdapter.Insert(drw.Cells["ИмяТовара"].Value.ToString(),
                                       drw.Cells["ТипТовара"].Value.ToString(),
                                       int.Parse(drw.Cells["Цена"].Value.ToString()),
                                       int.Parse(drw.Cells["Кол_во"].Value.ToString()));
 
            корзинаTableAdapter.Update(PCSHOP_DBDataSet.Корзина);
            корзинаTableAdapter.Fill(PCSHOP_DBDataSet.Корзина);
 
            Searchtxtbox.Text = queryproducttext; // возвращаем результат
 
            var query = from o in this.PCSHOP_DBDataSet.Товар
                         where o.Имя_Товара.Contains(Searchtxtbox.Text)
                         select o;
 
            товарBindingSource1.DataSource = query.ToList(); // приводим к исходному виду
        }
0
 Аватар для Aferuga
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
24.04.2017, 16:30
Уберите Update
0
0 / 0 / 0
Регистрация: 18.12.2015
Сообщений: 44
24.04.2017, 16:51  [ТС]
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
private void " Добавление в корзину "(object sender, EventArgs e)
        {
           
            queryproducttext = Searchtxtbox.Text; //сохраняем значение поиска
 
            this.товарTableAdapter.Fill(this.PCSHOP_DBDataSet.Товар);  
            товарBindingSource1.DataSource = this.PCSHOP_DBDataSet.Товар;// не знаю зачем но только из за этих 2 строк продолжается работа всего след. кода
 
            var drw = ProductsDataGridView.Rows[ProductsDataGridView.CurrentCell.RowIndex];
 
            корзинаTableAdapter.Insert(drw.Cells["ИмяТовара"].Value.ToString(),
                                       drw.Cells["ТипТовара"].Value.ToString(),
                                       int.Parse(drw.Cells["Цена"].Value.ToString()),
                                       int.Parse(drw.Cells["Кол_во"].Value.ToString()));
 
            корзинаTableAdapter.Update(PCSHOP_DBDataSet.Корзина);
            ///корзинаTableAdapter.Fill(PCSHOP_DBDataSet.Корзина);////////////////////////////удалил
 
            Searchtxtbox.Text = queryproducttext; // возвращаем результат
 
            var query = from o in this.PCSHOP_DBDataSet.Товар
                         where o.Имя_Товара.Contains(Searchtxtbox.Text)
                         select o;
 
            товарBindingSource1.DataSource = query.ToList(); // приводим к исходному виду
        }
удалил, то же самое выходит
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.04.2017, 16:51
Помогаю со студенческими работами здесь

Не удалось привести тип объекта "System.String" к типу "System.Byte[]"."
Имеется код для получения картинки из бд ,но выбивает ошибку Не удалось привести тип объекта "System.String" к типу...

Не удалось привести тип объекта "System.Data.DataRowView" к типу "System.String"
Всем привет, как исправить то что написано в заголовке.

Ошибка "Не удалось привести тип объекта System.Windows.Forms.ComboBox к типу System.IConvertible"
Всем привет! Пытаюсь подключиться к COM-порту. Делал по примеру из интернета. При нажатии кнопки OPEN вылезает ошибка: "Не удалось...

System.InvalidCastException: "Не удалось привести тип объекта "System.Windows.Forms.TableLayoutPanel" к типу "System.Win
namespace WindowsFormsApp1 { public partial class Form1 : Form { Game game; public Form1() { ...

Создание TcpChannel: не удалось привести тип объекта "System.Int32" к типу "System.String"
Всем привет! Скажите, пожалуйста, почему такая строчка не работает: TcpChannel channels = new TcpChannel(props, null, new...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru