VB 从访问数据库读取
VB reading from an access database
我有以下代码,当我 运行 它和代码行的末尾时,我得到一个错误,指出
System.Data.OleDb.OleDbException: 'Syntax error (missing operator) in
query expression
但我不确定这是什么意思,我正在使用 vb(在 visual studio 中)和访问数据库。该错误出现在我声明 dr
变量(我已将其用于我的数据 reader)的行中。
非常感谢,
Private Function CarFinder(b As String, m As String, s As String, d As Integer, e As String)
myConnection.ConnectionString = My.Forms.Main.connString
myConnection.Open()
Dim match As String
match = "SELECT * FROM CarFigures WHERE CBrand = '" & cbBrand.Text & "' CModel = '" &
cbModel.Text & "' and CSpec = '" & cbSpec.Text & "'"
Using cmd As New OleDb.OleDbCommand(match, myConnection)
cmd.Parameters.AddWithValue("@b", b)
cmd.Parameters.AddWithValue("@m", m)
cmd.Parameters.AddWithValue("@s", s)
cmd.Parameters.AddWithValue("@d", d)
cmd.Parameters.AddWithValue("@e", e)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
CO2e = dr("CCO2")
Ins = dr("InsuranceBand")
mpg = dr("CMPG")
time = dr("C060Time")
ncap = dr("CarNCAP")
bik = dr("Bik Rating")
End If
您的 SQL 查询字符串似乎有误。您在 "cbBrand.Text" 和 "CModel =" 之间缺少一个 AND
。应该像下面这样...
match = "SELECT * FROM CarFigures WHERE CBrand = '" & cbBrand.Text & "' and CModel = '" & cbModel.Text & "' and CSpec = '" & cbSpec.Text & "'"
我有以下代码,当我 运行 它和代码行的末尾时,我得到一个错误,指出
System.Data.OleDb.OleDbException: 'Syntax error (missing operator) in query expression
但我不确定这是什么意思,我正在使用 vb(在 visual studio 中)和访问数据库。该错误出现在我声明 dr
变量(我已将其用于我的数据 reader)的行中。
非常感谢,
Private Function CarFinder(b As String, m As String, s As String, d As Integer, e As String)
myConnection.ConnectionString = My.Forms.Main.connString
myConnection.Open()
Dim match As String
match = "SELECT * FROM CarFigures WHERE CBrand = '" & cbBrand.Text & "' CModel = '" &
cbModel.Text & "' and CSpec = '" & cbSpec.Text & "'"
Using cmd As New OleDb.OleDbCommand(match, myConnection)
cmd.Parameters.AddWithValue("@b", b)
cmd.Parameters.AddWithValue("@m", m)
cmd.Parameters.AddWithValue("@s", s)
cmd.Parameters.AddWithValue("@d", d)
cmd.Parameters.AddWithValue("@e", e)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
CO2e = dr("CCO2")
Ins = dr("InsuranceBand")
mpg = dr("CMPG")
time = dr("C060Time")
ncap = dr("CarNCAP")
bik = dr("Bik Rating")
End If
您的 SQL 查询字符串似乎有误。您在 "cbBrand.Text" 和 "CModel =" 之间缺少一个 AND
。应该像下面这样...
match = "SELECT * FROM CarFigures WHERE CBrand = '" & cbBrand.Text & "' and CModel = '" & cbModel.Text & "' and CSpec = '" & cbSpec.Text & "'"