我有一个CSV文件,其中包含看起来像整数的字符串列。也就是说,它们应该被视为字符串处理,但由于它们是数字,因此它们被导入为整数(去掉了前导零)。
示例数据:
0000000000079 0000999000012 0001002000005 0004100000007
我遇到的问题是,最后一个数据点以DBNull.Value的形式出现。我假设这是因为OleDB将该列视为整数(数据点也没有它们的前导零),而0004100000007大于最大整数值。
在读取数据时,是否有一种方法可以说“第0列是一个字符串,请勿将其读取为整数”?
我目前正在使用的代码是:
示例数据:
0000000000079 0000999000012 0001002000005 0004100000007
我遇到的问题是,最后一个数据点以DBNull.Value的形式出现。我假设这是因为OleDB将该列视为整数(数据点也没有它们的前导零),而0004100000007大于最大整数值。
在读取数据时,是否有一种方法可以说“第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
}
}