3 / 3 / 3
Регистрация: 29.02.2016
Сообщений: 175

Данная строка не распознана как действительное значение DateTime. Обнаружено неизвестное слово,

19.07.2018, 19:23. Показов 16354. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как исправить эту ошибку ?
An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll
Additional information: Данная строка не распознана как действительное значение DateTime. Обнаружено неизвестное слово, начинающееся с индекса 0.
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using System.Xml;
using System.Data.SqlClient;
using System.Data;
 
namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            SqlConnection SQL = new SqlConnection("Data Source=DIMA\\SQLEXPRESS;Initial Catalog=DIMA;Integrated Security=True");
            SQL.Open();
 
            SqlCommand COM = SQL.CreateCommand();
 
            XDocument xml = XDocument.Load("1232132.xml");
            COM.Parameters.Add(new SqlParameter("@pokritye", SqlDbType.VarChar));
            COM.Parameters.Add(new SqlParameter("@date_registr", SqlDbType.VarChar));
 
            foreach (XElement nameORZ in xml.Elements("РеестрИпотечныхЦенныхБумаг").Elements("ИпотечныеЦенныеБумаги").Elements("ИпотечнаяЦеннаяБумага"))
            {
                XElement companyElement = nameORZ.Element("ДатаРегистрацииИЗ");
                XElement date_registr = nameORZ.Element("РегистрационныйНомерИЗ");
                if (companyElement != null && date_registr != null)
                {
 
                         COM.Parameters["@pokritye"].Value = companyElement.Value;
                         COM.Parameters["@date_registr"].Value = Convert.ToDateTime(date_registr.Value);
                         COM.CommandText = "INSERT INTO [dbo].[эксперемент]([Покрытия],[Регистрационный Номер ИЗ]) VALUES(@pokritye,@date_registr)";
                         COM.ExecuteNonQuery();
                }
                if(companyElement ==null)
                {
                    Console.WriteLine("В документе ошибка!");
                }
               
            }
 
            SQL.Close();
 
            Console.ReadKey();
C#
1
2
  COM.Parameters["@date_registr"].Value = Convert.ToDateTime(date_registr.Value); //  Additional information: Данная строка не распознана как действительное значение DateTime.
                                                                                                           //Обнаружено неизвестное слово, начинающееся с индекса 0.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.07.2018, 19:23
Ответы с готовыми решениями:

Строка не распознана как действительное значение DateTime
Объясните почему? Строка не распознана как действительное значение DateTime DateTime CurrentTime =...

Строка не распознана как действительное значение DateTime
Добрый день! Подскажите, пожалуйста, в чем ошибка? string DateT_r = insert_adaptation_read.ToString();// строка получается вот...

Строка не распознана как действительное значение DateTime
В строке высвечивается ошибка - "Строка не распознана как действительное значение DateTime". DT =...

16
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
19.07.2018, 21:17
Цитата Сообщение от spaces_dima Посмотреть сообщение
C#
1
XElement date_registr = nameORZ.Element("РегистрационныйНомерИЗ");
Название элемента, значение которого присваивается переменной date_registr намекает на то, что там какое-то число.
А вы пытаетесь перевести его в дату.
Как выглядит значение в date_registr?
0
3 / 3 / 3
Регистрация: 29.02.2016
Сообщений: 175
19.07.2018, 21:36  [ТС]
<ДатаРегистрацииИЗ>29.09.2017 0:00:00</ДатаРегистрацииИЗ>
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
19.07.2018, 21:39
spaces_dima, могу предположить, что данный формат не соответствует формату даты, используемому в системе.
Чтобы этого избежать в случаях, когда дата приходит откуда-то извне, лучше при парсе указывать конкретный формат, который вас интересует:
C#
1
COM.Parameters["@date_registr"].Value = DateTime.ParseExact(date_registr.Value, "dd.MM.yyyy H:mm:ss", null);
0
3 / 3 / 3
Регистрация: 29.02.2016
Сообщений: 175
19.07.2018, 22:01  [ТС]
Additional information: Ошибка преобразования даты или времени из символьной строки.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
19.07.2018, 23:48
spaces_dima, убедитесь, что формат, указанный в методе ParseExact, соответствует формату строки с датой.
0
3 / 3 / 3
Регистрация: 29.02.2016
Сообщений: 175
20.07.2018, 09:14  [ТС]
можно по подробнее про формат даты со строкой ? что только не делал появляется ошибка

Добавлено через 9 минут
C#
1
Commans.Parameters["@dataregistraciiICV"].Value = DateTime.ParseExact(dataregistraciiICV.Value, "dd.MM.yyyy H:mm:ss", null);
Additional information: Ошибка преобразования даты или времени из символьной строки.
как ее уже исправлять ?
в xml файле дата записана как 29.09.2017 0:00:00 ?

Добавлено через 1 час 50 минут
C#
1
2
3
                        Commans.Parameters.Add(new SqlParameter("@registrnomer", SqlDbType.NVarChar));
                        Commans.Parameters.Add(new SqlParameter("@registrasionnionomerIZ", SqlDbType.NVarChar));
                        Commans.Parameters.Add(new SqlParameter("@dataregistraciiICV", SqlDbType.DateTime));
C#
1
2
3
4
5
6
7
 XElement registrnomer = KOLLEKCIYA.Element("РегистрационныйНомерИЦБ");
 
 
 
                            XElement registrasionnionomerIZ = KOLLEKCIYA.Element("РегистрационныйНомерИЗ");
 
                            XElement dataregistraciiICV = KOLLEKCIYA.Element("ДатаРегистрацииИЦБ");
C#
1
2
3
Commans.Parameters["@registrnomer"].Value = Convert.ToString( registrnomer.Value);
                                Commans.Parameters["@registrasionnionomerIZ"].Value = registrasionnionomerIZ.Value;
                                Commans.Parameters["@dataregistraciiICV"].Value = DateTime.ParseExact(dataregistraciiICV.Value, "dd.MM.yyyy H:mm:ss", null);
SQL
1
2
 Commans.CommandText = "insert into ДАННЫЕ values(@registrnomer,@registrasionnionomerIZ ,@dataregistraciiICV)"; //,@Dateregistrations,@Numberkreditsdogovor,@Datezaklicheniyadogovorakrditnogo,@Summakredits)";   //,@Ostatok_po_kredity,@Procentnya_stavka_GIK,@LTV,@PPTY,@PTI,@number_dogovor_IZ,@Date_Dogovor_Iz,@Cpok_KpeDNTa,@Summa_ezimech_vznosa,@Procrochennaya_summa,@Kolischestvo_procrochennix_dney,@Date_Vozniknov_procrochki,@Kolich_procsroch_za_god,@stepen_Nspolneniya_po_ocn_dolgy,@Ctepn_obyazatelsv,@summa_neyspal_trebov,@dolya_pokritya,@Razmerpokritya,@adress_zaloga,@TNp_zaloga,@Organ_gos_registr,@Organ_zarez_IZ)"; // SQL ЗАПРОС НА ЗАПОЛНЕНИЕ БД ИЗ ФАЙЛА XML
                                Commans.ExecuteNonQuery();
An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll

Additional information: Ошибка преобразования даты или времени из символьной строки.
<ДатаРегистрацииИЦБ>29.09.2017 0:00:00</ДатаРегистрацииИЦБ>
ЧТО ЕМУ ЕЩЕ НАДО УЖЕ ВТОРОЙ ДЕНЬ СИЖУ ИЗ ЭТОЙ ****

Добавлено через 53 секунды
C#
1
2
3
4
5
    XElement registrnomer = KOLLEKCIYA.Element("РегистрационныйНомерИЦБ");
 
                            XElement registrasionnionomerIZ = KOLLEKCIYA.Element("РегистрационныйНомерИЗ");
 
                            XElement dataregistraciiICV = KOLLEKCIYA.Element("ДатаРегистрацииИЦБ");
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
20.07.2018, 09:37
Посмотрите формат даты в SQL самом, скорей всего формат SQL не соответствует тому что вы подаёте

Добавлено через 2 минуты
И посмотрите через отладку, что именно у Вас хранится в dataregistraciiICV.Value только дата, либо же как вы даёте строку:<ДатаРегистрацииИЦБ>29.09.2017 0:00:00</ДатаРегистрацииИЦБ> ?
0
3 / 3 / 3
Регистрация: 29.02.2016
Сообщений: 175
20.07.2018, 09:54  [ТС]
формат даты dateformat dmy, и скрин отладчика
Миниатюры
Данная строка не распознана как действительное значение DateTime. Обнаружено неизвестное слово,  
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
20.07.2018, 10:08
вроде всё и нормально, попробуйте вот так ваш запрос сделать:
SQL
1
INSERT INTO ДАННЫЕ VALUES(@registrnomer,@registrasionnionomerIZ ,CONVERT(datetime, @dataregistraciiICV, 112))
p.s а в таблице у Вас только 3 столбца?
0
 Аватар для Wolflind
127 / 107 / 31
Регистрация: 17.03.2016
Сообщений: 445
Записей в блоге: 1
20.07.2018, 10:09
Проблема тут не в формате строки
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
20.07.2018, 10:11
Wolflind, проблема в разнице форматов передаваемого из кода и принимаемого в sql
0
 Аватар для Wolflind
127 / 107 / 31
Регистрация: 17.03.2016
Сообщений: 445
Записей в блоге: 1
20.07.2018, 10:29
у меня встречались такие проблемы из-за того что на разный пользователях стоял разный язык но сейчас я использую
либо DataSet.xsd либо linq to sql и проблем нет он сам все из базы достает и настраивает.

Добавлено через 1 минуту
как вариант сменить региональные настройки если вспомню как напишу.

Добавлено через 8 минут
вот так вот
C#
1
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
Добавлено через 3 минуты
И еще можно посмотреть через SQL Server Profiler что он там отправляет не раз выручал
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
20.07.2018, 11:02
Цитата Сообщение от spaces_dima Посмотреть сообщение
можно по подробнее про формат даты со строкой ?
Покажите пожалуйста код всего метода, а не урывками, а то пока что наблюдается что-то странное:
Цитата Сообщение от spaces_dima Посмотреть сообщение
C#
1
2
                XElement companyElement = nameORZ.Element("ДатаРегистрацииИЗ");
                XElement date_registr = nameORZ.Element("РегистрационныйНомерИЗ");
В переменной companyElement лежит значение элемента "ДатаРегистрацииИЗ", в переменной date_registr лежит значение элемента "РегистрационныйНомерИЗ".
Что-то мне подсказывает, что вы с присваиванием напутали.

Цитата Сообщение от SeIZVeIZ Посмотреть сообщение
Посмотрите формат даты в SQL самом, скорей всего формат SQL не соответствует тому что вы подаёте
Цитата Сообщение от SeIZVeIZ Посмотреть сообщение
проблема в разнице форматов передаваемого из кода и принимаемого в sql
Если параметр запроса имеет тип SqlDbType.DateTime и свойству Value присваивается значение типа DateTime, то драйвер сам его отформатирует под вид, приемлемый для СУБД.
0
3 / 3 / 3
Регистрация: 29.02.2016
Сообщений: 175
20.07.2018, 11:12  [ТС]
Теперь другой вопрос, после того как удалил таблицу и создал таблицу типа
SQL
1
2
3
4
5
6
CREATE TABLE [dbo].[ДАННЫЕ]
(
ID  INT NOT NULL PRIMARY KEY IDENTITY(1,1),
[Регистрационный Номер ИЦБ] VARCHAR(30),
[Регистрационный Номер ИЗ] VARCHAR(30),
[Дата Регистрации ИЦБ] VARCHAR(30))
все записывалось, после этого удалил эту таблицу и создал
новую как и была прежде
SQL
1
2
3
4
5
6
CREATE TABLE [dbo].[ДАННЫЕ]
(
ID  INT NOT NULL PRIMARY KEY IDENTITY(1,1),
[Регистрационный Номер ИЦБ] VARCHAR(30),
[Регистрационный Номер ИЗ] VARCHAR(30),
[Дата Регистрации ИЦБ] datetime)
все заработало в чем причина ????
0
3 / 3 / 3
Регистрация: 29.02.2016
Сообщений: 175
20.07.2018, 11:13  [ТС]
Миниатюры
Данная строка не распознана как действительное значение DateTime. Обнаружено неизвестное слово,  
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
20.07.2018, 11:14
Цитата Сообщение от spaces_dima Посмотреть сообщение
в чем причина ?
Наверное, в типе последней колонки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.07.2018, 11:14
Помогаю со студенческими работами здесь

Непонятное исключение "Строка не распознана как действительное значение DateTime"
Есть файл timeTable.txt 02 00 05 00 08 00 10 00 12 00 14 00 15 00 16 00 17 00

Строка не распознана как действительное значение DataTime
Добрый вечер. При попытке заполнить табличку DataTable: DataTable table = new DataTable(); table.Load(reader) где reader - объект...

Строка не распознана как действительное значение DateTime
снова не могу понять DataTime, я еще новичок, была у меня просто форма с date. Но в этот раз сказали сделать через DataTime. Я не могу...

Не загружаются данные из SQLite c ошибкой "Строка не распознана как действительное значение DateTime" Entity Framework
Добрый день, подскажите пожалуйста: Имеется проект C# приложение windows form с entity framework code first на борту. С начала entity...

Строка не распознается как действительное значение DateTime
con = new SQLiteConnection(&quot;Data Source=&quot; + dbFile); con.Open(); com = con.CreateCommand(); ...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru