powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Данные из текстового файла
3 сообщений из 3, страница 1 из 1
Данные из текстового файла
    #32830172
zed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем еще раз! :))

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

пример строки данных :
X 275 XX 1/3 2222 2222 0 190.- XX XX.XX

так вот все хорошо читается, но если в этот файл добавить (она есть, я ее убирал для отладки строку :
X 275 XX 12 2222 2222 0 190.- XX XX.XX

т.е. в результате :
X 275 XX 1/3 2222 2222 0 190.- XX XX.XX
X 275 XX 12 2222 2222 0 190.- XX XX.XX

то при чтении вместо (1/3) получается пустая строка, одним словом если там не число, то не читается.

Проверяю вот так :
string conn_str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Text;HDR=NO;FMT=Delimited'";
OleDbConnection conn = new OleDbConnection(conn_str);
conn.Open();
OleDbCommand cmd = new OleDbCommand("select * from " + filename + " where F1 > ''", conn);
OleDbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);

while(reader.Read())
{
Response.Write("<br>"+reader["f1"].ToString()+"-"+reader["f2"].ToString()+"-"+reader["f3"].ToString()+"-"+reader["f4"].ToString()+"-"+reader["f5"].ToString());
}
conn.Close();

Почему текстовые данные не читаются если в этой колонке есть числовые данны ???
Где это ограничивается ???
Как с этим бороться ???

Спасибо всем!
...
Рейтинг: 0 / 0
Данные из текстового файла
    #32831087
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тип данных в колонках определяется автоматически при чтении из файла. JET это делает путем сканирования первых MaxScanRows записей и попыткой подобрать более подходящий тип "большинством голосов". в твоем случае выбор пал на тип int (1/3 - в пролёте и возвращается DBNull).

установки по умолчанию для JET (текстовые файлы) смотреть и править нужно в реестре
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text

чтобы перекрыть установки в реестре нужно завести файл schema.ini в директории, где лежит текстовый файл.

--------
PS: ты еще не попал на CSV (разделитель запятой) по умолчанию :)
PSS: описание schema.ini есть в хелпе для VS
...
Рейтинг: 0 / 0
Данные из текстового файла
    #32831139
zed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
Про колонки дошел методом научного....

про реестр отдельное сэнкс - не знал... покопаюсь!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Данные из текстового файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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