【发布时间】:2021-10-06 13:59:49
【问题描述】:
请给我一个解决方案。
我认为我的查询代码错误
Private Sub PopulateDataGridView()
Dim query = "select ITM,ITC,QOH,PRS FROM IFG (WHERE QOH > 0 AND ITM = @ITM OR ISNULL(@ITM, '') = '')"
Dim constr As String = "provider=Microsoft.Jet.OLEDB.4.0; data source=C:\Users\ADMIN2\Desktop; Extended Properties=dBase IV"
Using con As OleDbConnection = New OleDbConnection(constr)
Using cmd As OleDbCommand = New OleDbCommand(query, con)
cmd.Parameters.AddWithValue("@ITM", cbCountries.SelectedValue)
Using sda As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim dt As DataTable = New DataTable()
sda.Fill(dt)
dataGridView1.DataSource = dt
End Using
End Using
End Using
End Sub
【问题讨论】:
-
参数数量错误仍然是错误?
-
@djv ,是的还是错误
-
@djv ,如果我省略 "or isnull" 之后的所有代码,则没有错误。
-
那么检查是检查您从代码中传递的参数,因此您可以在代码中而不是在服务器上进行逻辑检查
-
@djv 我使用本地数据库,所以不是来自服务器。明天我将截图数据库的内容