0

私は答えを探していましたが、ビジュアルベーシックの初心者なので理解できません(学校で使い方を教えられていないので、ネットで検索して学ぶだけです)。

これが私の問題です: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 に答える