Модераторы: gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кто-нибудь работал с ADO, а именно открытие *.csv, работа с сым и txt файлами . 
:(
    Опции темы
alsergeich
Дата 7.10.2006, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 26.9.2006

Репутация: нет
Всего: нет



Код

connectionString ="Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"text;HDR=Yes;FMT=Delimited\";Data Source=\"C:\\\"";

ad = new OleDbDataAdapter("SELECT * FROM car.csv", connection);

ds = new DataSet();

ad.Fill(ds);

dataGridView1.DataSource = ds.Tables[0];



код представлен выше. он рабочий, файл открывает, но! но он не разделяет столбцы! он все столбцы определят как один.
т.е если у меня такие названия "first" , "second" , он показывает так "first;second".


пробовал изменить connectionString, явно указывая разделитель, на такую connectionString ="Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"text;HDR=Yes;FMT=Delimited(;)\";Data Source=\"C:\\\"";
все равно не помогает!
может кто сталкивался с такой проблемой.

PM MAIL   Вверх
mr.DUDA
Дата 7.10.2006, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Код рабочий. Вот этот выполняется Ok, в датасете в таблице 2 колонки (см. csv-файл ниже):

Код
using System;
using System.Data;
using System.Globalization;
using System.Data.OleDb;

class Program
{
    static void Main()
    {
        string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"text;HDR=Yes;FMT=Delimited\";Data Source=\"C:\\\"";
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            OleDbDataAdapter ad = new OleDbDataAdapter("SELECT * FROM car.csv", connection);

            DataSet ds = new DataSet();
            ad.Fill(ds);
        }
    }
}


car.csv
Код
aaa;1
bbb;2
ccc;3


Не пойму, в чём проблема, всё работает как положено.


--------------------
user posted image
PM MAIL WWW   Вверх
alsergeich
Дата 9.10.2006, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 26.9.2006

Репутация: нет
Всего: нет



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

[car.csv]
Delimited(;)
ColNameHeader=True


тады все работает... но это не выход....
PM MAIL   Вверх
mr.DUDA
Дата 9.10.2006, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Цитата(alsergeich @  9.10.2006,  08:56 Найти цитируемый пост)
чтобы заработало создаю файл schema.ini с текстом 

Это ещё что за ini ?...  smile 

Всё работает, запусти мой пример с приведённым csv-файлом.
Или у тебя csv-файлы не с теми разделителями ?.. Я использовал обычный Excel с сохранением в csv.


--------------------
user posted image
PM MAIL WWW   Вверх
alsergeich
Дата 9.10.2006, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 26.9.2006

Репутация: нет
Всего: нет



не работает. не  знаю что и делать!!! я в тупике. с запятыми работает, а точку с запятой не понимает!!! smile 
PM MAIL   Вверх
mr.DUDA
Дата 9.10.2006, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Давай весь исходник и пример csv-файла, попробуем разобраться.


--------------------
user posted image
PM MAIL WWW   Вверх
alsergeich
Дата 9.10.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 26.9.2006

Репутация: нет
Всего: нет



у меня много.... не уверен что целесообразно выкладывать весь код

когда вы выложили свой код
Код

        string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"text;HDR=Yes;FMT=Delimited\";Data Source=\"C:\\\"";
    
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            OleDbDataAdapter ad = new OleDbDataAdapter("SELECT * FROM car.csv", connection);
            DataSet ds = new DataSet();
            ad.Fill(ds);
            dataGridView.DataSource = ds.Table[0];
        }


я вставил его в свой проект, но это ничего не изменило. он точно также не мог разлечить столбцы разделенные точкой с запятой.
но если нужно я скину вам в личку.
кстати, я смог заставить работать программу, но для этого пришлось лезть в регистр и там в ручную менять delimiter, но соответственно после этого у меня не открывались файлы разделенные запятой...
это плохой вариант. Может все-таки вы что-нибудь сможете мне подсказать.. надеюсь..я тут уже совсем стух  smile 

P.S. сейчас тестю вашим файлом
Код

aaa;1
    
bbb;2
    
ccc;3




Это сообщение отредактировал(а) alsergeich - 9.10.2006, 15:07
PM MAIL   Вверх
mr.DUDA
Дата 9.10.2006, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Цитата(alsergeich @  9.10.2006,  15:06 Найти цитируемый пост)
но если нужно я скину вам в личку.

Это будет самый простой вариант. Кидай мне на email.

З.Ы. у нас тут как бы все "свои", можем на "ты" общаться  smile, зачем уж так официально


--------------------
user posted image
PM MAIL WWW   Вверх
alsergeich
Дата 9.10.2006, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 26.9.2006

Репутация: нет
Всего: нет



послал
PM MAIL   Вверх
mr.DUDA
Дата 9.10.2006, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Странно, но и в этот раз всё работает !

Использую почти тот же csv-файл:
Цитата
ID;Name
1;aaa
2;bbb
3;ccc


Получаю скрины, как в аттаче.

Может дело в версии установленных компонент (подозрение на провайдер для текстовых файлов). У меня установлен 2-й .NET Framework, студия 2005, MDAC из SQL Server 2005.


Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  screens.zip 19,18 Kb


--------------------
user posted image
PM MAIL WWW   Вверх
alsergeich
Дата 9.10.2006, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 26.9.2006

Репутация: нет
Всего: нет



да у меня тож VS 2005...
а где можно версию framework глянуть??? что-то найти не могу

и если не сложно, полукайте строку соединения с excel
Код

                    connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0; Password =0000; Data Source="+filePass;

у меня стоит пароль на открыте документа.
может я ни туда или не так вписал Password?????



Это сообщение отредактировал(а) alsergeich - 9.10.2006, 18:08
PM MAIL   Вверх
mr.DUDA
Дата 9.10.2006, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Цитата(alsergeich @  9.10.2006,  17:58 Найти цитируемый пост)
да у меня тож VS 2005...

Если установлена 2005-я студия, то второй фреймворк тоже.

Цитата(alsergeich @  9.10.2006,  17:58 Найти цитируемый пост)
и если не сложно, полукайте строку соединения с excel

Хех, так я для проверки выбирал в комбобоксе "Text" smile, кнопкой "..." - текстовый файл, а в текстбоксе вверху - имя файла без расширения.


--------------------
user posted image
PM MAIL WWW   Вверх
alsergeich
Дата 10.10.2006, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 26.9.2006

Репутация: нет
Всего: нет



да, нет вопрос про connectionString он к делу не относиться smile
это к текстовым файлам никакого отношения не имеет 

P.S. а винды у вас какие стоят?
и что в рег настройках за разделители, посмотрите если не сложно.
и раз уж такое дело, то может глянете как выглядит свойство Format в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text

заранее спасибо smile 


Это сообщение отредактировал(а) alsergeich - 10.10.2006, 08:39
PM MAIL   Вверх
mr.DUDA
Дата 10.10.2006, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Цитата(alsergeich @  10.10.2006,  08:33 Найти цитируемый пост)
 винды у вас какие стоят?

WinXP SP2

Цитата(alsergeich @  10.10.2006,  08:33 Найти цитируемый пост)
и раз уж такое дело, то может глянете как выглядит свойство Format в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text

Delimited(;)




--------------------
user posted image
PM MAIL WWW   Вверх
alsergeich
Дата 10.10.2006, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 26.9.2006

Репутация: нет
Всего: нет



и все  же возвращаясь к вопросу о connectionString...
    
Код

   connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0; Password =0000; Data Source="+filePass;
    

у меня стоит пароль на открыте документа.
может я ни туда или не так вписал Password?????
PM MAIL   Вверх
mr.DUDA
Дата 10.10.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



alsergeich, одна тема - один вопрос плз. Сюда никто не заглянет чтобы ответить про эксель.


--------------------
user posted image
PM MAIL WWW   Вверх
alsergeich
Дата 10.10.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 26.9.2006

Репутация: нет
Всего: нет



уже понял. созал новую тему
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0562 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.