DataSet из CSV файла криво работает.

Loki598
Дата: 28.04.2007 12:53:22
Нашел на форуме код для заполнения DataSet из CSV файла. Работает, но криво. В одной из колонок есть данные типа :
1223
1256
4899
4568-S
5966-A
8889

Так вот текстовые он не грузит (4568-S,5966-A) Если заранее опредилить DataTable с колонками типа string в DataSet , та же самая ерунда-не помогло.

Что не так?
public static DataSet GetDataSet(string filename)
{
string connString =
string.Format(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Text;",
Path.GetDirectoryName(filename));

string cmdString =
string.Format("SELECT * FROM {0}", Path.GetFileName(filename));

DataSet ds = new DataSet();
using (OleDbConnection conn = new OleDbConnection(connString))
{
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(cmdString, conn);
adapter.Fill(ds);
conn.Close();
}
return ds;
}


P.S. просто не грузит, ошибок нет. Ячейки с данными типа (4568-S,5966-A) пустые.
Сложное не нужно, нужное не сложно.
s_golovko
Дата: 28.04.2007 14:19:28
В первой строке идет имя колонки. А во второй если будет стоять число, то получим:
ds.Tables[0].Columns[0].DataType.FullName ==
"System.Int32"
А если во второй будет что-то вроде "4568-S", то и тип у колонки будет "System.String", и все данные будут загружены в датасет.

Похоже придется дальше продолжить поиски рефлектором.
| [url=http://accessdenied.phpnet.us]Free images for webmasters[/url] | [url=http://avto-credit.com]Машина в кредит[/url] |