Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Class Form2
- Private Sub btn_ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_add.Click
- If txt_usuario.Text = "" Or txt_senha.Text = "" Or txt_confirm.Text = "" Then
- MessageBox.Show("Preencha os Campos")
- txt_usuario.Clear()
- txt_senha.Clear()
- txt_confirm.Clear()
- Else
- If txt_senha.Text = txt_confirm.Text Then
- 'Cria um objeto conexão, passando a string de conexão
- 'dim conexao as new sqlconnection("Dara Source=NomedoMeuServidor; initial Catalog=NomeDoMeuBanco; User ID= MeuUsuario;Password=MinhaSenha)
- Dim conexao As New SqlConnection("Data Source=VSTUDIO-SQL;Initial Catalog=3if3;Integrated Security=True")
- 'variaveis que futuramente irao armazenar os dados advindos do banco
- Dim usuarioBanco As String = ""
- Dim senhaBanco As String = ""
- 'esse é o comando select que vai trazer os dados do banco
- Dim sql As String
- 'SELECT [nm_usuario],[cd_senha]FROM [3if3].[dbo].[Tabela]
- sql = "SELECT nm_usuario, cd_senha FROM tabela WHERE nm_usuario='" & txt_usuario.Text & "'AND cd_senha='" & txt_senha.Text & "'"
- 'cria um novo comando, passando o sql e a conexao criada
- Dim comando As New SqlCommand(sql, conexao)
- 'cria um objeto datareader que vai receber os dados lidos
- Dim dr As SqlDataReader
- 'abrindo a conexão com o banco
- conexao.Open()
- 'executando a leitura
- dr = comando.ExecuteReader()
- ' o metodo READ do dataReader retorna um boolean, que diz se existe proximo valor no caso abaixo, enquanto existirem resultados ele
- 'estara rodando e em cada loop o dr vai representar uma linha diferente do resultado no nosso caso provavelmente
- 'só irá haver um loop portanto estou inserindo direto em variaveis e não em um array
- While (dr.Read())
- 'getString pois o valor é string, o numero inteiro ai significa o posicionamento da coluna no query executado
- usuarioBanco = dr.GetString(0) 'GetString pois é variavel alfanumerica
- senhaBanco = dr.GetString(1) 'poderia ser gtint, getboolean
- End While
- 'aqui fecha a conexão caso surja essa duvida!! hahaha
- 'não reader pois ao contrario do datasett o datareader não trabalha com dados desconectados, então enquanto precisar de ler o datareader precisará que a conexão esteja aberta
- conexao.Close()
- 'para evitar um sqlinject estamos comparando em um if simples se realmente o que esta no textbox bate com o que vem do banco a função trim retira possiveis espaços em branco no começo e no final da string
- If usuarioBanco.Trim() = txt_usuario.Text.Trim() And senhaBanco.Trim() = txt_senha.Text.Trim And txt_usuario.Text <> "" And txt_senha.Text <> "" Then
- lbl_msg.Visible = True
- lbl_msg.ForeColor = Color.Green
- lbl_msg.Text = "Entrada Permitida"
- txt_usuario.Clear()
- txt_senha.Clear()
- Else
- lbl_msg.Visible = True
- lbl_msg.ForeColor = Color.Red
- lbl_msg.Text = "ACESSO NEGADO!!!"
- txt_usuario.Clear()
- txt_senha.Clear()
- txt_usuario.Focus()
- End If
- If txt_senha.Text = txt_confirm.Text Then
- Dim conexao2 As New SqlConnection("Data Source=VSTUDIO-SQL;Initial Catalog=3if3;Integrated Security=True")
- Dim sql2 As String
- 'INSERT INTO [3if3].[dbo].[Tabela][nm_usuario],[cd_senha]) VALUES*( ('admin', 'admin')
- sql = "INSERT INTO tabela (nm_usuario, cd_senha) VALUES ('" & txt_usuario.Text & "','"
- Dim comando2 As New SqlCommand(sql2, conexao2)
- conexao.Open()
- Dim linhasAfetadas As Integer = 0
- linhasAfetadas = comando.ExecuteNonQuery()
- conexao.Close()
- If linhasAfetadas <> 0 Then
- lbl_msg.ForeColor = Color.Green
- lbl_msg.Text = "Cadastrado!"
- btn_add.Visible = False
- Else
- lbl_msg.ForeColor = Color.Red
- lbl_msg.Text = "ERRO!!!"
- End If
- Else
- lbl_msg.ForeColor = Color.Red
- lbl_msg.Text = "Senhas Diferentes"
- txt_usuario.Clear()
- txt_senha.Clear()
- txt_confirm.Clear()
- txt_usuario.Focus()
- End If
- End If
- End If
- End Sub
Add Comment
Please, Sign In to add comment