[英]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.