当使用带有oledb的WHERE时,我得到“没有给出一个或多个必需参数的值。”

时间:2014-01-27 20:03:41

标签: vb.net csv oledb oledbcommand

我收到错误“没有给出一个或多个必需参数的值。”在.Fill

  Dim da As New System.Data.OleDb.OleDbDataAdapter_
        ("SELECT * FROM [" & FileName & _
        "] WHERE Column_Name <> '-1' AND Column_Name <> '-2'", conn)
    da.Fill(dtnew)

这有效:

  Dim da As New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM [" _
        & FileName & "]", conn)
    da.Fill(dtnew)

为了清晰起见,我添加了换行符。

我的两个想法是:

1)当使用带有.csv的OleBb时不可能,但我认为我看到别人在其他地方取得成功。

2)我的格式在查询中是错误的。我在这里找不到任何东西,或谷歌提供标准格式。我看过的大多数地方建议像[]的名字一样。除了新的错误之外,我已经尝试了所有地方的支架,没有运气。

1 个答案:

答案 0 :(得分:0)

感谢LarsTech,我意识到.csv / .xlsx中的列名与SQL数据库中的列名不同。修复很简单我只需要将列名更改为[ID#]。