powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / CSV import. Проблемс с датами. Я фигею дорогая редакция...
5 сообщений из 5, страница 1 из 1
CSV import. Проблемс с датами. Я фигею дорогая редакция...
    #32696587
Фотография Aeon Technologies
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет знатокам!
исходная: есть обычный csv файл типа
ER,07/09/2004,16/09/2004,SLD,871,37949,0.05575
при импорте данных:

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("ru-ru");
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;

string FileName = folderUpload + "temp.csv";
myFile.PostedFile.SaveAs(FileName);

string strConn = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Extensions=asc,csv,tab,txt;Dbq=" + System.Configuration.ConfigurationSettings.AppSettings["folderUpload"].ToString();

OdbcConnection objCSV = new OdbcConnection(strConn);
objCSV.Open();

OdbcCommand oCmd = new OdbcCommand("SELECT * FROM temp.csv", objCSV);
OdbcDataReader dr = oCmd.ExecuteReader();

int i=0;
while (dr.Read())
{

получается что форматы дат "гуляют". например если даты в файле:
07/09/2004,16/09/2004
то при импорте они считываются как:
7/9/2004 00:00:00 - 9/16/2004 00:00:00

а если файл
13/09/2004,27/09/2004
то считывается как:
9/13/2004 00:00:00 - 9/27/2004 00:00:00

где логика? я пытался культуру выставлять перед импортом и ковертировать... даты все равно "гуляют". кроме работы с файлом как с обычным текстом выхода не вижу.
буду признателен за хелп.
...
Рейтинг: 0 / 0
CSV import. Проблемс с датами. Я фигею дорогая редакция...
    #32696621
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
установка культуры тут причем - ведь это БД (хотя и ISAM). и в этой БД (by default) принят американский стандарт MM/DD/YYYY

если дата не вписывается в этот формат (т.е. MM от 1 до 12 и DD от 1 до 28,29,30,31 в зависимости от месяца и високосного года и это еще при условии, что год задан 4-мя цифрами), то пробуется DD/MM/YYYY
и т.д. по "черт ногу сломит какому" алгоритму, но до первого срабатывания.

15/4/5 - не берусь даже предсказать рез-т

---
переопределить формат хранения можно через schema.ini файл, параметр DateTimeFormat.
...
Рейтинг: 0 / 0
CSV import. Проблемс с датами. Я фигею дорогая редакция...
    #32696664
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ooops, был неправ (хотя сомнения и остались - для parse).
Не американский формат используется по умолчанию, а формат из Regional Settings (Control Panel), причём короткий.
MSDN... the Windows Control Panel short date picture and time options are used
Specifying the File Format
----
но хрен редьки не слаще, в этом случае вообще полный out с переносимостью с компьютера на компьютер с разными установками. здесь уже без файла схемы не обойтись.
...
Рейтинг: 0 / 0
CSV import. Проблемс с датами. Я фигею дорогая редакция...
    #32701125
Фотография Aeon Technologies
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
благодарю за ответы. конечном итоге (после нескольких дней извращений) заюзал текст стрим и построчно прочитал. и никаких глюков.
...
Рейтинг: 0 / 0
CSV import. Проблемс с датами. Я фигею дорогая редакция...
    #32701126
Фотография Aeon Technologies
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, работает медленней, но зато надежней. заказчик удовлетворен, значит все пучком :)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / CSV import. Проблемс с датами. Я фигею дорогая редакция...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]