2014-01-27 62 views
0

我收到錯誤「沒有給出一個或多個必需參數的值」。在.fill僞當在oledb中使用WHERE時,我會得到「沒有給出一個或多個必需參數的值。」

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)不可能使用OleBb帶有.csv的時候,但我想我看到有人成功在其他地方。

2)我的格式在查詢中是錯誤的。我在這裏找不到任何東西,或Google提供標準格式。我看過的大多數地方都提出了類似於[]的列名。除了新錯誤之外,我已經嘗試過所有地方的括號,但沒有運氣。

+2

在工作示例中填寫'dtnew'時,請查看調試器中列的名稱。 – LarsTech

+0

@LarsTech非常好的先生。我正在使用該數據表要與之合併的SQL表中的列名。 – ZL1Corvette

+1

聲明的錯誤是非常通用的 - 通常在SQL中只有語法錯誤。 – rheitzman

回答

0

感謝LarsTech,我意識到.csv/.xlsx中的列名與SQL數據庫中的列名不同。修復很簡單,我只需將列名更改爲[ID#]。

相關問題