hi every body
can any one tell me why this code give me error thats said [ An SqlParameter with ParameterName 'tech_user_name' is not contained by this SqlParameterCollection ]
where is my mistak please
CODE
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
Dim str As String
Dim SqlCommand2 As New SqlCommand
str = "LoginSP1"
With SqlCommand2
.CommandType = CommandType.StoredProcedure
.CommandText = str
.Parameters.AddWithValue("@tech_user_name", UsernameTextBox.Text)
.Parameters.AddWithValue("@tech_password", PasswordTextBox.Text)
.Connection = SqlConnection1
End With
SqlConnection1.Open()
Dim valid As Integer = SqlCommand2.ExecuteScalar
If valid < 1 Then
'invalid login
MsgBox("wrong user name or password", MsgBoxStyle.OkOnly)
UsernameTextBox.Text = ""
PasswordTextBox.Text = ""
UsernameTextBox.Focus()
SqlConnection1.Close()
SqlCommand2.Parameters.Clear()
Else
'valid login
OK.Enabled = False
Cancel.Enabled = False
UsernameLabel.Enabled = False
PasswordLabel.Enabled = False
MenuStrip1.Enabled = True
PasswordTextBox.Enabled = False
username = UsernameTextBox.Text
Label1.Text = username
SqlConnection1.Close()
SqlCommand2.Parameters.Clear()
End If
SqlConnection1.Open()
SqlCommand1.Parameters("tech_user_name").Value = UsernameTextBox.Text
Dim read As SqlClient.SqlDataReader
read = SqlCommand1.ExecuteReader
If read.Read Then
TextBox1.Text = read.Item("user_type")
read.Close()
SqlConnection1.Close()
SqlCommand1.Parameters.Clear()
End If
End Sub
i use stored procedure
CODE
ALTER PROCEDURE dbo.LoginSP1
@tech_user_name nvarchar (50) ,
@tech_password nvarchar (50)
AS select count(tech_user_name) from client
where tech_user_name=@tech_user_name and tech_password=@tech_password
RETURN
so i call it then i would like to search by the username text to find the user type Admin or User