Vb.net 在oledb中使用WHERE时,我得到;没有为一个或多个所需参数提供值。”;

Vb.net 在oledb中使用WHERE时,我得到;没有为一个或多个所需参数提供值。”;,vb.net,csv,oledb,oledbcommand,Vb.net,Csv,Oledb,Oledbcommand,我在.Fill处得到错误“没有为一个或多个必需参数提供值” Dim da作为新System.Data.OleDb.OleDbDataAdapter_ (“从[”&FileName&_ “]其中列名称'-1'和列名称'-2',康涅狄格州) da.填充(dtnew) 这项工作: Dim da As New System.Data.OleDb.OleDbDataAdapter(“从[]中选择*”_ &文件名(&“]”,康涅狄格州) da.填充(dtnew) 为了清晰起见,我添加了换行符 我的两个想

我在.Fill处得到错误“没有为一个或多个必需参数提供值”

Dim da作为新System.Data.OleDb.OleDbDataAdapter_
(“从[”&FileName&_
“]其中列名称'-1'和列名称'-2',康涅狄格州)
da.填充(dtnew)
这项工作:

Dim da As New System.Data.OleDb.OleDbDataAdapter(“从[]中选择*”_
&文件名(&“]”,康涅狄格州)
da.填充(dtnew)
为了清晰起见,我添加了换行符

我的两个想法是:

1) 在将Oleb与.csv一起使用时,这是不可能的,但我认为我已经看到人们在其他地方取得了成功


2) 我的查询格式错误。我在这里或谷歌上都没有找到标准格式。我看过的大多数地方都会在columnname周围出现类似[]的东西。我到处都试过括号,除了新的错误外,运气不佳。

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

在工作示例中填充
dtnew
时,请查看调试器中的列名称。@LarsTech非常好,先生。我使用的是将要合并此datatable的SQL表中的列名。声明的错误非常普遍-通常SQL中只存在语法错误。