2016-03-12 2 views
0
Syntax error (missing operator) in query expression 'Username ='admin' [Password] ='admin' AND AccountType = Admin''. 

Dim Conn As New OleDbConnection ("Provider = Microsoft.ACE.OLEDB.12.0; источник данных = C: \ Users \ Jen \ Documents \ Джейд \ VB \ database.accdb ")ошибка синтаксиса (отсутствующий оператор) два пользователя в форме входа

txtAdmin.Text = "Admin" 

    Dim strsql As New OleDbCommand("select * from Login where Username ='" & txtUsername.Text & "' [Password] ='" & txtPassword.Text & "' AND AccountType = Admin'", conn) 
    Dim uu As New OleDbParameter("UserName", txtUsername.Text) 
    Dim pp As New OleDbParameter("Password", txtPassword.Text) 
    strsql.Connection.Open() 

    Dim reader As OleDbDataReader 
    reader = strsql.ExecuteReader 

    If reader.HasRows Then 
     strsql.Connection.Close() 


     MsgBox(" Successfully Logged in!", vbInformation) 

     frmIndex.Show() 
     desktopFade.Close() 

    ElseIf txtUsername.Text = "" And txtPassword.Text = "" Then 
     MsgBox("Don't leave the fields blank", vbCritical) 
     txtUsername.Focus() 

    Else 

     MsgBox("Your Username or Password is invalid", MsgBoxStyle.Critical) 
     Me.txtUsername.Text = "" 
     Me.txtPassword.Text = "" 
     Me.txtUsername.Focus() 
     strsql.Connection.Close() 


    End If 

У меня есть 2 пользователя в базе данных. администратора и пользователя. если имя учетной записи имени пользователя и пароля равно = Admin, тогда ADMIN Account показывается, если для пользователя выбрано имя пользователя и пароль, а затем отображается USER Account. В моем коде, я пытаюсь решить сначала администратора, но мне нужна всякая помощь. T.T

ответ

0

Вы пропустите "И" здесь:

'" & txtUsername.Text & "' [Password] ='" 

Должно быть

'" & txtUsername.Text & " AND ' [Password] ='" 
+0

геэз. спасибо, действительно! Я потратил 2 часа на поиск ответа. шутки в сторону . спасибо ^^ –

+0

@JadeMendoza, если это ответит на вопрос, отметьте его как ответ –