Ошибка при 2-й попытке входа в систему
Привет, ребята, у меня проблема с кодами входа в систему. Я могу войти в систему плавно в 1-й раз, когда я запускаю/отлаживаю программу, но когда я выхожу из системы, а затем пытаюсь войти снова, я получаю эту ошибку:
Необработанное исключение типа 'System.Данных.Sqlclient как.Sqlexception В' произошел в System.Data.dll
Дополнительная информация: имя переменной '@username' уже объявлено. Имена переменных должны быть уникальными в пакете запросов или хранимой процедуре.
Кто-нибудь может помочь мне это исправить. Вот мой код:
Public Class frmLogin Dim cn As New SqlConnection("Data Source=TANSENGCO\SQLEXPRESS;Initial Catalog=MonitoringSystem;Integrated Security=True") Dim cmd As New SqlCommand Dim dr As SqlDataReader Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click frmMainMenu.Height = 720 frmMainMenu.Width = 950 Dim numID As Integer = 2 cmd.Connection = cn cn.Open() cmd.CommandText = "SELECT ID, username, password FROM tblUsers WHERE username = @username and password = @password" cmd.Parameters.Add(New SqlClient.SqlParameter("@username", SqlDbType.VarChar, 20)).Value = txtUsername.Text cmd.Parameters.Add(New SqlClient.SqlParameter("@password", SqlDbType.VarChar, 20)).Value = txtPassword.Text dr = cmd.ExecuteReader If dr.HasRows Then dr.Read() If dr("ID") = numID Then Me.Hide() frmMainMenu.lblAccessLevel.Text = "Admin" frmMainMenu.Show() Else Me.Hide() frmMainMenu.lblAccessLevel.Text = "User" frmMainMenu.TSMOffertory.Enabled = False frmMainMenu.TSMOffertory.Visible = False frmMainMenu.Show() End If Else MsgBox("Invalid Credentials", MsgBoxStyle.Exclamation, "Invalid LogIn") End If txtPassword.Clear() txtUsername.Clear() cn.Close() End Sub
Что я уже пробовал:
Я действительно не знаю, что происходит, поэтому я не знаю, что попробовать.
[no name]
Сообщение об ошибке ясно говорит вам, в чем проблема.