0

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

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

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

4

3 回答 3

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)
于 2012-12-03T10:37:26.380 回答
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 & "'"
于 2013-10-31T15:23:12.653 回答
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"
于 2014-02-26T13:53:51.663 回答