我是一個新手,我的代碼如此原諒我,如果我的問題似乎基本,但我有一些麻煩,從此While循環提取我的變量,然後使用我的SQL查詢的結果驗證。需要幫助從VB.Net的While循環提取變量
下面這個腳本是事件處理的一個.aspx窗體上的登錄按鈕的處理,將在相關MSSQL數據庫中的電子郵件,以及登陸場:
Public Class _Default
Inherits System.Web.UI.Page
Protected Sub submit_Click(sender As Object, e As EventArgs) Handles submit.Click
Dim Column1 As String
Dim Column2 As String
Dim SQL = "SELECT * FROM Logins WHERE Email='" & email.Text & "' AND Password='" & password.Text & "'"
Dim oSqlDataReader As System.Data.SqlClient.SqlDataReader = Nothing
Using oSqlConnection As New System.Data.SqlClient.SqlConnection("SERVER=[Server Name];UID=[User];PWD=[Pass];DATABASE=[Database Name]")
oSqlConnection.Open()
Using oSqlCommand As New System.Data.SqlClient.SqlCommand(SQL, oSqlConnection)
oSqlDataReader = oSqlCommand.ExecuteReader
While oSqlDataReader.Read
Column1 = oSqlDataReader(name:="Email")
Column2 = oSqlDataReader(name:="Password")
End While
End Using
oSqlConnection.Close()
End Using
If "Column 1 etc."
End if
End Sub
End Class
至於我可以告訴我的代碼工作沒有錯誤,但每次我嘗試創建一個If語句我的變量Column 1 and Column 2
未聲明使他們無用。
如果任何人都可以幫助我的代碼或缺失區域的正確佈局,並解釋我出錯的地方會很棒。
循環結束後執行'If'部分意味着'Column1'和'Column2'將包含最後一次讀取的值。那是你要的嗎? –
最後返回的價值應該沒問題。 SQL查詢應該只返回一個值,即一個有效的電子郵件地址和密碼,如果返回一個值,那麼我認爲電子郵件和密碼是可以接受和正在進行的。 至於安全性,我仍然是一個新手,並且瞭解它並不是最安全的系統,我現在一定會查找'sql-parameters',以備將來使用,或者在這個項目中,如果我可以得到它的工作,哈哈 –
移動我的If語句會阻止Visual Studio在進入具有未聲明列1和列的調試模式時出現錯誤;謝謝@David。 雖然他們仍然返回「Nothing」,但我懷疑這是由於我在VS 2013上運行SSMS 2014而導致服務器連接問題;我會試着去掌握一個早期的SSMS。 謝謝你的幫助,雖然每個人:) –