System.Data.OleDb.OleDbException:'条件表达式中的数据类型不匹配。'读取CSV文件

时间:2017-03-28 20:25:36

标签: sql vb.net csv oledbexception

尝试使用OLEDB读取VB.NET中的csv文件时收到以下错误:

  

System.Data.OleDb.OleDbException:'条件表达式中的数据类型不匹配。'

我的代码是:

Dim SQuery As String = "SELECT Div, Date, HomeTeam, AwayTeam, FTHG, FTAG, FTR, HTHG, HTAG, " _
                         & "HTR, BbMxH, BbAvH, BbMxD, BbAvD, BbMxA, BbAvA, BbMxGT25, BbAvGT25, " _
                         & "BbMxLT25, BbAvLT25, BbAHh, BbMxAHH, BbAvAHH, BbMxAHA, BbAvAHA FROM Historical.csv WHERE [Div] = 'E0'"

如果我关闭WHERE子句它可以正常工作,如果我将where子句设置为在除“Div”之外的另一列上进行过滤,则它可以正常工作。奇怪的是,我有另一个文件在每列中具有完全相同的标题和数据格式类型,并且每次按“Div”过滤时都会完美地读取它,如果我将问题文件中的数据排序为不同的顺序它有时也有效。我认为它可能与'Div'列中的数据类型有关,它们都是E0,E1,F1,F2,B1,SP1,I1等等。我在程序的其他地方有一些简单的代码使用OLEDB从单个csv文件中选择所有数据并将其复制到1个文件中,但由于某种原因遇到“F1”或“F2”时它会删除F并且只留下1或2. OLEDB是否看到这些单个字母/数字组合作为别的东西,他们需要以某种方式逃脱吗?

0 个答案:

没有答案