2016-08-04 4 views
0

내 프로그램에 문제가 있습니다. "추가 정보 : 조건 식의 데이터 형식이 일치하지 않습니다."라고 표시됩니다. 그리고 오류가 rs.Fill(dt)에 던져했다 여기에 따라서 따옴표, 대부분의 경우, 배치 ID 숫자입니다 내 코드ms 액세스 데이터베이스에서 데이터 형식이 일치하지 않습니다.

con.Open() 

     Dim dt As New DataTable("tbl_Stock") 
     Dim rs As New OleDb.OleDbDataAdapter("Select * from [tbl_Stocks] WHERE [Product] ='" & lbPro.Text & "' AND [Batch ID] = '" & txtID.Text & "'", con) 
     Dim ve As String 
     rs.Fill(dt) 


     ve = CStr(dt.Rows.Count) 
     rs.Dispose() 
     con.Close() 
+3

사용 매개 변수는 SQL 주입 및 서식 문제를 방지 할 수 있습니다. 배치 ID는 아마도 데이터베이스의 문자열 값이 아니기 때문에 문제를 해결할 수도 있습니다. – LarsTech

+1

[당신은 분명히 매개 변수에 대해 알고있다] (http://stackoverflow.com/q/38610476/1070452) 왜 여기 사용하지 않습니까? – Plutonix

+0

오류는 꽤 많이 있습니다. 일반적으로 문제는 구문 오류입니다. – rheitzman

답변

0

없습니다 :

Dim rs As New OleDb.OleDbDataAdapter("Select * from [tbl_Stocks] WHERE [Product] ='" & lbPro.Text & "' AND [Batch ID] = " & txtID.Text & "", con) 
관련 문제