我一直在寻找答案,但我无法理解他们,因为我是视觉基础上的菜鸟(我没有被教过如何在学校使用它,我只是在网上搜索学习)。
以下是我的问题:Syntax error (missing operator) in query expression 'pinN='.
Dim con As New OleDbConnection("PROVIDER = Microsoft.ACE.OLEDB.12.0;Data Source = C:\Users\Billy Otsuka\Desktop\VB Fiiles\Prototype-Prototype\Sample.accdb")
Dim cmd As OleDb.OleDbCommand = New OleDbCommand("SELECT * FROM [Table3] WHERE pinN= " & TextBox1.Text & "", con)
con.Open()
Dim sdr As OleDbDataReader = cmd.ExecuteReader()
If (sdr.Read() = True) Then
adminLogin.Show()
Me.Hide()
Else
MsgBox("Invalid pin")
End If
突出显示的字词是sdr As OleDbDataReader = cmd.ExecuteReader()
在这段代码中,我想输入一个4号码引脚,如果正确的话,我可以转到下一个表格,但如果错误则不会。我正在使用访问数据库。
我真的很感激,如果有人能告诉我什么是错的,因为我不知道错误是什么。
答案 0 :(得分:1)
使用此:
Dim cmd As OleDb.OleDbCommand = New OleDbCommand("SELECT * FROM
[Table3] WHERE pinN= '" & TextBox1.Text & "'", con)
您的选择
上没有单打引号编辑:试试这个:
New OleDbCommand("SELECT * FROM [Table3] WHERE pinN= " & TextBox1.Text, con)
答案 1 :(得分:0)
什么是textbox1.text类型?
If textbox1.text is **numeric** :
New OleDbCommand("SELECT * FROM [Table3] WHERE pinN= " & TextBox1 & ""
else
New OleDbCommand("SELECT * FROM [Table3] WHERE pinN ='" & TextBox1 & "'"
答案 2 :(得分:0)
我遇到了串联问题,我使用了一个参数来解决这个问题。
Dim cmd As OleDb.OleDbCommand = New OleDbCommand("SELECT * FROM [Table3] WHERE pinN= @myPinN", con)
con.Open()
cmd.Parameters.Add("@myPinN", OleDbType.VarChar, 100).Value = "myPinNValue"