У меня есть текстовый файл, вот некоторые примеры данных:
Id,PriceOne,Company,PriceTwo,PriceThree
11,15.3599997,Japan ltd,12.23,3.1777777
12,,Koyoto ltd,,0
13,86.25,New Wor,-1289519.44,2536.1245627
......
Я использую этот commandText для чтения данных из txt-файла в datatable:
string connString = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq="
+ filePath + ";Extensions=asc,csv,tab,txt;";
try
{
using (OdbcConnection odbcConn = new OdbcConnection(connString))
{
odbcConn.Open();
OdbcCommand oleComm = new OdbcCommand();
oleComm.Connection = odbcConn;
oleComm.CommandText = string.Empty;
if (fileName.ToLower().Contains("fairvalue"))
oleComm.CommandText = "select * from [" + fileName + "#txt]";
else
oleComm.CommandText = "select * from [" + fileName + "#csv]";
OdbcDataAdapter adapter = new OdbcDataAdapter(oleComm);
DataSet ds = new DataSet();
adapter.Fill(ds, fileName);
return ds.Tables[0];
}
}
но когда я отлаживал данные, я получал результат, как показано ниже:
Id PriceOne Company PriceTwo PriceThree
11 15.3599997 Japan ltd 12 3
12 Koyoto ltd 0
13 86.25 New Wor -1289519 2536
......
Я не знаю, почему столбец PriceTwo и значение столбца PriceThree изменяются на INT, так что значение столбца PriceOne верно?
Может ли кто-нибудь мне помочь? ТНХ.