Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 20.06.2017
Сообщений: 34
1

Как убрать ошибку System.InvalidCastException: Заданное приведение является недопустимым

25.01.2024, 00:03. Показов 2924. Ответов 21

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

На c# wpf приложении мне нужно создать окно с каталогом файлов и папок со структурой, то есть TreeView. Нужно реализовать возможность в этот каталог вносить изменения во время выполнения программы и чтобы по нажатию на надпись происходило открытие файла.

Так как моя программа работает с базой данных my sql на виртуальном сервере, и предполагается, что могут работать несколько копий программы с разных компьютеров, полагаю, что структура каталога файлов должна храниться в базе данных на сервере. Файлы, которые следует открыть, думаю не стоит хранить в базе, а нужно хранить ссылки на файлы.

И вот как здесь увязать всё это, мне не очень понятно: что именно оптимально хранить в таблице, как стоит в таблице хранить информацию об иерархии файлов, как эту иерархию передать в TreeView, как хранить ссылки на файлы и как реализовать возможность добавлять файлы и редактировать структуру дерева, как должно происходить открытие файла...

В общем, буду рад любому совету
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.01.2024, 00:03
Ответы с готовыми решениями:

Заданное приведение является недопустимым
В проге когда создаю школьный класс выдает эту ошибку. Уже несколько дней мучаюсь с этой ошибкой....

System.InvalidCastException: "Заданное приведение является недопустимым."
Помогите пожалуйста понять что ему не нравится, я вообще никаких идей не имею что не так. Всегда...

System.InvalidCastException: "Заданное приведение является недопустимым."
Вот так выглядит класс. Вот так выглядит таблица в БД. class Para { ...

System.InvalidCastException: "Заданное приведение является недопустимым."
Нажимаю на строчку в таблице - выдает эту ошибку (System.InvalidCastException: "Заданное приведение...

21
Модератор
Эксперт .NET
15880 / 11026 / 2856
Регистрация: 21.04.2018
Сообщений: 32,395
Записей в блоге: 2
29.01.2024, 13:35 21
Author24 — интернет-сервис помощи студентам
ydmm, вы же WPF приложение собираете?
Вам всё равно требуется парсинг запросов в сущности.
Если нет каких-то ультра уникальных запросов, мой совет - работайте с БД через Entity Framework.
Намного всё упростится.
0
2876 / 1994 / 369
Регистрация: 14.08.2018
Сообщений: 6,510
Записей в блоге: 4
29.01.2024, 13:42 22
Цитата Сообщение от ydmm Посмотреть сообщение
C#
1
item.parentId = (Int32?)tableCatalog.Rows[i]["parent_id"];
А зачем вы работаете с DataTable и с адаптером? Кто мешает читать данные напрямую из БД с помощью Command и DataReader в коллекцию нужных элементов?
Пример
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using (SqlDataReader sqlDataReader = await sqlCommand.ExecuteReaderAsync())
{
    if (sqlDataReader.HasRows)
    {
        while (await sqlDataReader.ReadAsync())
        {
            specification.Add(new CPSSpecificationPosition
            {
                SpecPosID = (int)sqlDataReader["SpecPosID"],
                SpecPosNumber = (short)sqlDataReader["SpecPosNumber"],
                SpecPosDesignation = sqlDataReader["SpecPosDesignation"]
                    == DBNull.Value ? null : (string)sqlDataReader["SpecPosDesignation"],
                SpecPosName = (string)sqlDataReader["SpecPosName"],
                SpecPosMaterial = sqlDataReader["SpecPosMaterial"]
                    == DBNull.Value ? null : (string)sqlDataReader["SpecPosMaterial"],
                CPSPosNumber = sqlDataReader["CPSPosNumber"]
                    == DBNull.Value ? null : (string)sqlDataReader["CPSPosNumber"],
                CPSPosName = sqlDataReader["CPSPosName"]
                    == DBNull.Value ? null : (string)sqlDataReader["CPSPosName"]
            });
        }
    }
}
0
29.01.2024, 13:42
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.01.2024, 13:42
Помогаю со студенческими работами здесь

System.InvalidCastException: "Заданное приведение является недопустимым."
Пытаюсь сохранить данные в sql итоги ошибка System.InvalidCastException: "Заданное приведение...

System.InvalidCastException: "Заданное приведение является недопустимым."
var data = _service.GetCountNumber(id); var countNumber = (int)data.Rows; //...

System.InvalidCastException: "Заданное приведение является недопустимым."
Добрый день , нужно строку конвертировать в математическое действие , нашел такой способ: float...

System.InvalidCastException: "Заданное приведение является недопустимым."
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Заданное приведение является недопустимым
Пишу класс для чтения памяти Не хочу писать для каждого типа свой метод, поэтому решил сделать...

Заданное приведение является недопустимым
namespace Dnevnichok.Admin_Pages { public partial class CreateRaspis : UserControl { ...

Заданное приведение является недопустимым
Возникает такая ошибка "Заданное приведение является недопустимым" в этой строке, подскажите как...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
Как добавить пустую директорию в репозиторий Git
bytestream 22.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо сохранить пустую директорию в репозитории. Данная задача может показаться простой на первый. . .
Как валидировать адрес email в JavaScript
bytestream 22.01.2025
JavaScript, как основной язык веб-разработки, предоставляет разработчикам множество инструментов для реализации эффективной валидации email-адресов. От простых встроенных решений до сложных. . .
Как заменить все вхождения подстроки в JavaScript
bytestream 22.01.2025
Строки в JavaScript представляют собой неизменяемые последовательности символов, что делает их обработку особенно интересной с точки зрения оптимизации и выбора правильного подхода к решению задач. . . .
Управление версиями пакетов в Node.js. В чем разница между тильдой (~) и кареткой (^) в package.json
bytestream 22.01.2025
В современной разработке программного обеспечения управление версиями пакетов играет ключевую роль в обеспечении стабильности и надежности проектов. Node. js, как одна из самых популярных платформ для. . .
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru