У меня есть файл CSV, в котором есть столбец, содержащий строки, которые выглядят как целые числа. То есть они должны рассматриваться как строки, но так как они являются числами, они, похоже, импортируются как целые числа (отбрасывая начальные нули).
Пример данных:
- 0000000000079
- 0000999000012
- 0001002000005
- 0004100000007
Проблема, с которой я сталкиваюсь, заключается в том, что последний пример данных указывается как DBNull.Value. Я предполагаю, что это потому, что OleDB рассматривает этот столбец как целое число (точки данных также проходят без начальных нулей), а значение 0004100000007 превышает наибольшее целочисленное значение.
Есть ли способ сказать, что "column [0] - это строка, не считайте ее как целое число"? При чтении данных?
Код, который я сейчас использую:
OleDbConnection dbConn = new OleDbConnection(SourceConnectionString);
OleDbCommand dbCommand = new OleDbCommand("SELECT * FROM test.csv", dbConn);
dbConn.Open();
OleDbDataReader dbReader = dbCommand.ExecuteReader();
while (dbReader.Read())
{
if (dbReader[0] != DBNull.Value)
{
// do some work
}
}