[英]INNER JOIN in visual basic with ComboBox value in SQL string
[英]How to get a string value from a sql table in visual basic
基本上,我有一個登錄系統,想添加訪問權限。 為了做到這一點,我希望我的代碼引用我的SQL數據庫,返回access的值,然后返回一個if語句,該語句然后將根據用戶的訪問權限指導用戶。 我認為問題出在什么時候:如果access =“ Admin”,因為我現在得到的只是錯誤消息。 我找不到如何在SQL表中將Admin引用為Admin。
Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
'connection to the database
Dim connection As New SqlClient.SqlConnection
Dim command As New SqlClient.SqlCommand
Dim adaptor As New SqlClient.SqlDataAdapter
Dim dataset As New DataSet
Dim access As String
'data location
connection.ConnectionString = ("Data Source=CHRISTIAN;Initial Catalog=Complete;Integrated Security=True")
'sql statement
command.CommandText = "SELECT Access_Level FROM [User] WHERE Username= '" & txtUsername.Text & "'AND Password='" & txtPassword.Text & ";'"
connection.Open()
command.Connection = connection
adaptor.SelectCommand = command
adaptor.Fill(dataset, "0")
access = CType(command.ExecuteScalar(), String)
Try
If access = "Admin" Then
MenuAdmin.Show()
Me.Hide()
ElseIf access = "User" Then
Menu1.Show()
Me.Hide()
Else
MsgBox("Please try again, wrong username or password entered!")
txtPassword.Clear()
txtUsername.Clear()
'txtUsername.Focus()
End If
Catch ex As Exception
End Try
謝謝你的幫助
如果僅是連接到數據庫以檢索稱為“訪問”的列的值的情況,則需要查看ADO.NET。 這是一個相當大的主題,但是如果您有一個快速的Google,將會有很多例子。
如果您不打算對該表進行任何其他操作,則僅使用數據集來返回該字段似乎沒有必要。 嘗試類似
SqlDataReader reader=command.ExecuteReader();
string access="";
if(reader.HasRows){
reader.Read();
access=reader.IsDBNull(0) ? "" : reader.GetString(0);
}
else{
//Handle unauthorised access
}
reader.Close();
reader.Dispose();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.