想請教高手大大,我以 SqlDataReader.GetOrdinal 抓取到資料庫的資料與TextBox比對,明明輸入對的帳號及密碼,但不知為何程式卻判斷我輸入的與資料庫裡的資料不同,想請教我哪裡寫錯了?
Public Class Login
Dim sConn As SqlConnection
Dim conn As String = "server=localhost;database=Product;uid=sa;pwd='123'"
Dim FailCount As Integer = 0
Private Sub CmdEnter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdEnter.Click
Dim sConn = New SqlConnection(conn)
sConn.Open()
Dim SqlLogin As String
Dim SqlReader As SqlDataReader
Dim SqlLoginCmd As SqlCommand
SqlLogin = "Select 帳號,密碼 From Login Where 帳號=帳號"
SqlLoginCmd = New SqlCommand(SqlLogin, sConn)
SqlLoginCmd.Parameters.AddWithValue("帳號", TxtID.Text)
SqlReader = SqlLoginCmd.ExecuteReader()
If SqlReader.Read() Then
MsgBox(SqlReader.GetString(SqlReader.GetOrdinal("密碼")))
If SqlReader.GetString(SqlReader.GetOrdinal("密碼")) = TxtPwd.Text Then
TxtID.Text = SqlReader.GetString(SqlReader.GetOrdinal("帳號"))
SqlReader.Close()
Else
FailCount += 1
End If
Else
FailCount += 1
End If
If FailCount > 0 And FailCount <= 3 Then
MsgBox("第" & FailCount.ToString & "次輸入錯誤", MsgBoxStyle.Exclamation, "系統訊息。")
If FailCount >= 3 Then
MsgBox("輸入錯誤次數已達三次,程式將自行關閉。", MsgBoxStyle.Exclamation, "系統訊息。")
End
End If
End If
End Sub
End Class