[英]VB.Net login form, can't connect to Access database?
我正在創建一個應用程序,但我遇到了第一個障礙。 我創建了一個由用戶名和密碼文本框組成的登錄表單,其中的條目必須與數據庫中的記錄匹配才能繼續。
該應用程序是在Visual Studio Express 2013中創建的,而數據庫是在Access 2013中創建的。當我嘗試編譯時,出現以下錯誤消息。
類型的未處理的異常“System.Data.OleDb.OleDbException”出現在system.data.dll。
附加信息:FROM子句中的語法錯誤。
該頁面的代碼如下
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient
Public Class frm_1_Login
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btn_Login.Click
' Check if username or password is empty
If txt_Username.Text = "" Or txt_Password.Text = "" Then
lbl_LoginWarning.Visible = True
Else
'Connect To Database
Dim conn As New System.Data.OleDb.OleDbConnection()
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Kevin\Desktop\Non Conformance\NonConformance.accdb"
Dim sql As String = "SELECT * FROM User WHERE UserName ='" & txt_Username.Text & "' AND UserPassword = '" & txt_Password.Text & "'"
Dim sqlCom As New System.Data.OleDb.OleDbCommand(sql)
'open database connection
sqlCom.Connection = conn
conn.Open()
' Try
Dim sqlRead As System.Data.OleDb.OleDbDataReader = sqlCom.ExecuteReader()
If sqlRead.Read() Then
frm_2_MainMenu.Show()
Me.Hide()
Else
'if user enters wrong username and password combination display error message
lbl_LoginWarning.Visible = True
'clear all fields
txt_Password.Text = ""
txt_Username.Text = ""
'Focus in username field
txt_Username.Focus()
End If
' Catch ex As Exception
'MessageBox.Show("Failed to connect to Database..", "Database Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
'End Try
End If
End Sub
End Class
當它向我拋出錯誤消息時,它隨后高亮顯示了這一行代碼
Dim sqlRead As System.Data.OleDb.OleDbDataReader = sqlCom.ExecuteReader()
我已經將查詢復制到訪問中,並且工作正常。
我不確定是什么原因造成的,任何幫助將不勝感激!
謝謝閱讀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.