vb / access上的查询表达式中的语法错误(缺少运算符)

时间:2012-12-03 05:04:05

标签: vb.net operator-keyword

我一直在寻找答案,但我无法理解他们,因为我是视觉基础上的菜鸟(我没有被教过如何在学校使用它,我只是在网上搜索学习)。

以下是我的问题: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号码引脚,如果正确的话,我可以转到下一个表格,但如果错误则不会。我正在使用访问数据库。

我真的很感激,如果有人能告诉我什么是错的,因为我不知道错误是什么。

3 个答案:

答案 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"