С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 10

Разное поведение одного и того же кода

12.06.2017, 18:34. Показов 839. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Я новичок в C# и в целом в ООП, но кое-чего уже соображаю.
Я скачал из интернета проект для примера и вставил весь его (не особо сложный) код в свой проект в Visual Studio 2015. Скачанный проект работает, но тот же самый код в моем проекте выдает исключения, связанные с невозможностью приведения типов, то есть, одни и те же строки работают по разному.
Мучаюсь не один день, пытаюсь понять, почему? Если нужен весь код, могу выложить.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.06.2017, 18:34
Ответы с готовыми решениями:

Разное поведение DateTimePicker
Помогите справится с проблемой. У меня есть два разных проекта. Один основной, другой - тестовый, созданый, чтобы решить эту проблему . ...

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

Непостоянный Selenium или разное поведение на разных ПК
Привет, товарищи. Стал замечать, что в компьютерном мире действует закон "сколько ПК - столько и ошибок". Распространяю софт и...

5
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
12.06.2017, 18:37
Цитата Сообщение от fgarfield Посмотреть сообщение
Если нужен весь код, могу выложить.
Выложите, а то по той информации что вы предоставили невозможно ничего диагностировать. Не забудьте указать в каком конкретно месте ошибки (имя файла, номер строки).
0
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 10
12.06.2017, 19:08  [ТС]
DropMeFiles_1bEEE.zip - В архиве 2 проекта. TVHierachyID - это рабочий скачанный, и DB57_test - мой, но не рабочий.
После нажатия на кнопку Get Data, в строке 49 файла clsData среда выдает исключение:

Необработанное исключение типа "System.ArgumentException" в System.Data.dll
Дополнительные сведения: Тип значения не соответствует типу столбца.Невозможно сохранить </> в столбце NodeKey. Ожидался тип SqlHierarchyId.

Вот метод класса, в котором выдается исключение:

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
public DataTable GetData()
        {
            DataTable oTable = new DataTable();
            FileInfo oFI = new FileInfo("SampleData.xml");
 
            //test for the existing sample data xml
            if (!oFI.Exists)
            {
                //get the data from the database
                oTable = GetTableSQL();
 
                //you need to write out the schema with the data to read it into the table.
                oTable.WriteXml(oFI.FullName, XmlWriteMode.WriteSchema);
            }
 
            //read in the data from the xml file
            oTable.ReadXml(oFI.FullName);
 
            //anonomise the data
            foreach (DataRow oRow in oTable.Rows)
            {
                oRow["Element"] = string.Format("Element{0}", oRow["ElementID"]);
 
                //convert the string back into a hierarchyid
                Debug.WriteLine("nodeString: {0}", oRow["NodeString"].ToString());
                oRow["NodeKey"] = SqlHierarchyId.Parse((string)oRow["NodeString"]);
            }
            return oTable;
 
        }
Строка 49 это:
C#
1
oRow["NodeKey"] = SqlHierarchyId.Parse((string)oRow["NodeString"]);
0
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 10
13.06.2017, 10:38  [ТС]
Я нашёл, в чём подвох!
В исходном проекте ссылка на библиотеку Microsoft.Sqlserver.Types версии 10. Я же добавлял ссылку на 12 версию. Поэтому и возникали ошибки в разных местах. Также я попробовал ссылку на 13 версию - с ней также сыпятся исключения.
С этим вроде разобрался, но теперь новый вопрос - чем объясняется такое различие в поведении библиотек? Это баги новых версий, или же в новых версиях наоборот, что-то улучшили? Если да, то что?
0
HF
 Аватар для HF
1307 / 885 / 200
Регистрация: 09.09.2011
Сообщений: 2,598
Записей в блоге: 2
13.06.2017, 11:02
Цитата Сообщение от fgarfield Посмотреть сообщение
С этим вроде разобрался, но теперь новый вопрос - чем объясняется такое различие в поведении библиотек? Это баги новых версий, или же в новых версиях наоборот, что-то улучшили? Если да, то что?
Когда появляются такие умные мысли, их лучше сразу закрепить реальными данными. Идём и читаем изменения SQL Server.

Breaking Changes to Database Engine Features in SQL Server 2016. Внизу ссылки старых версий, чтобы можно было сравнивать.

Открываем 2012 и 2014 (чтобы увидеть разницу между 2008 и старше). И у 2012 и 2014 видим изменения связанные с библиотекой Types "SQL CLR Data Types (geometry, geography, and hierarchyid)".

И разная справка как исправить это.
0
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 10
13.06.2017, 22:07  [ТС]
HF, Спасибо, интересный раздел! хотя, решения конкретно моего случая, мне там найти и не удалось
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.06.2017, 22:07
Помогаю со студенческими работами здесь

Visual Studio 2010 разное поведение программы при запуске *.exe и из VS
Уважаемые знатоки, столкнулся с проблемой! Программа ведет себя по-разному если её запускать из VS и если её запускать через проводник...

Разбиение на треугольники: разное поведение WinXP 32 bit и Win 7 64 bit
Добрый день. Народ, я даже знаю в какую тему постить.... Вобщем словил глюк следующего содержания. Решается задача, схема которой...

Разное поведение ADO.NET кода на локальном и удалённом сервере
Всем доброго времени суток. Прошу опытных разработчиков помочь в решении проблемы. Суть проблемы - есть метод контроллера, который...

Повторение одного и того же кода
Как сделать повторения одного и того же кода? SetCursorPos(x,y); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); ...

Сравнение производительности одного и того же кода С++ и C#
В интернете натолкнулся на одну статью. Где описывается производительность одного и того же кода на С++ и C# язык Мне нужна помощь , в...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru