2014-01-27 8 views
0

"하나 이상의 필수 매개 변수에 값이 지정되지 않았습니다."라는 오류가 나타납니다. 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) 

.Fill

에 이 작동 :

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

내가 추가 한 라인이 명확하게 나누기. 를 .csv로 OleBb 사용하는 경우

1) 가능하지,하지만 난 사람들이 다른 곳에서 성공을 본 생각 :

내 두 생각이었다.

2) 조회에서 서식이 잘못되었습니다. 여기에서 찾은 것은 없으며 Google은 표준 형식을 제공합니다. 내가 본 대부분의 장소는 []이 (가) columnname과 비슷한 것을 제안합니다. 나는 새로운 오류를 제외하고 운이없는 곳곳에 괄호를 사용했다.

+2

작업 예제에서'dtnew'를 채울 때 디버거에서 열의 이름을 살펴보십시오. – LarsTech

+0

@LarsTech 아주 좋습니다. 이 datatable 병합 할 SQL 테이블에서 열 이름을 사용하고 있었다. – ZL1Corvette

+1

오류는 매우 일반적입니다. 종종 SQL에 구문 오류가 있습니다. – rheitzman

답변

0

LarsTech 덕분에 .csv/.xlsx의 열 이름이 SQL 데이터베이스의 열 이름과 같지 않다는 것을 알았습니다. 수정은 간단했습니다. 단지 열 이름을 [ID #]로 변경해야했습니다.