Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > не получается открыть *.csv


Автор: alsergeich 28.9.2006, 11:33
Код

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];


вопросов несколько - если в Datasource написать 
Код
"C:\\car.csv"
, то комилятор выдает ошибку 
" 'C:\car.csv' is not a valid path.  Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides."
Т.е. получается что я не могу указать конкретный файл???

Далее.. у меня в car.csv есть несколько столбцов: first, second, third
когда у меня строка запроса такая 
Код


"SELECT * FROM car.csv"
 он мне в datagridview показывает таблицу с одним столбцом "first;second;third".
Если я пытаюсь явно указать название интересующего меня столбца "SELECT first FROM car.csv"
компилятор выдает ошибку "No value given for one or more required parameters."
я думаю у меня неправильно задана строка connectionString. Может у меня каких параметров не хватает, для того чтобы программа могла различить столбцы в csv-файле???

Автор: KAFLAN 28.9.2006, 23:44
Цитата

если в Datasource написать "C:\\car.csv"


А так писать и не нужно, в датасорс пишется путь к папке где лежат csv`шки, а селектом указывается конкретная csv`шка аки таблица БД, так всегда работало.

Цитата

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


Возможно стоит явно задать тип разделителя:
string connectionString = 
@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\;Extended Properties=""text;HDR=Yes;FMT=Delimited(,)""";

Обратите внимание на параметр Delimited, в скобках после него указан разделитель

Автор: alsergeich 29.9.2006, 10:35
даже когда так записываю 
Код
@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\;Extended Properties=""text;HDR=Yes;FMT=Delimited(;)"""

он все равно все столбцы склеивает..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)