none
VB.Net Sistema Banco de dados RRS feed

  • Pergunta

  • Boa noite

    Tenho dois problema,quando clico no botão EDITA ou EXCLUIR fala  propriedade Connection não foi iniciada.

    Codigo:

    Botão excluir:

    Private Sub PExcluir()
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "DELETE FROM tabusuarios HERE Código" & txtCodigo.Text
                    Dim cmd As OleDbCommand = New OleDbCommand("sql, con")
                    
                    cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("Ocorreu um erro ao tentar excluir o usuario.Erro" & ex.Message, MsgBoxStyle.Information, "Cadastro")
                Finally
                    con.Close()
                End Try
            End Using
        End Sub

    Botão EDITA:

     Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "UPDATE tabusuarios SET usuario=?,senha=?,perfil=? WHERE Código" & txtCodigo.Text
                    Dim cmd As OleDbCommand = New OleDbCommand("sql, con")
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@usuario", txtusuario.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@senha", txtsenha.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@perfil", cmdPerfil))
                    cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("Ocorreu um erro ao tentar atualizar os dados do usuario.Erro" & ex.Message, MsgBoxStyle.Information, "Cadastro")
                Finally
                    con.Close()
                End Try
            End Using

    Codigo do Form completo

    Imports System.Data
    Imports System.Data.OleDb
    Public Class frmCadastro
        Private Sub PLimpaCampos()
            txtCodigo.Text = "NOVO"
            txtusuario.Text = ""
            txtsenha.Text = ""
            cmdPerfil.SelectedIndex = 0
            txtusuario.Focus()
        End Sub
        Private Function FValidaCampos() As Boolean
            If txtusuario.Text = "" Then
                MsgBox("Preencha o campo usuario", MsgBoxStyle.Information, "Cadastro")
                txtusuario.Focus()
                Return False
            End If
            If txtsenha.Text = "" Then
                MsgBox("Preencha o campo senha", MsgBoxStyle.Information, "Cadastro")
                txtsenha.Focus()
                Return False
            End If
            Return True
        End Function
    
        Private Sub PEdita()
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "UPDATE tabusuarios SET usuario=?,senha=?,perfil=? WHERE Código" & txtCodigo.Text
                    Dim cmd As OleDbCommand = New OleDbCommand("sql, con")
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@usuario", txtusuario.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@senha", txtsenha.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@perfil", cmdPerfil))
                    cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("Ocorreu um erro ao tentar atualizar os dados do usuario.Erro" & ex.Message, MsgBoxStyle.Information, "Cadastro")
                Finally
                    con.Close()
                End Try
            End Using
        End Sub
        Private Sub PSalva()
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "INSERT INTO tabusuarios (usuario, senha, perfil) VALUES (?,?,?)"
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@usuario", txtusuario.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@senha", txtsenha.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@perfil", cmdPerfil.Text))
                    cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("Ocorreu um erro ao cadastrar o usuario.Erro" & ex.Message, MsgBoxStyle.Information, "Cadastro")
                Finally
                    con.Close()
                End Try
            End Using
        End Sub
        Private Sub PExcluir()
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "DELETE FROM tabusuarios HERE Código" & txtCodigo.Text
                    Dim cmd As OleDbCommand = New OleDbCommand("sql, con")
                    
                    cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("Ocorreu um erro ao tentar excluir o usuario.Erro" & ex.Message, MsgBoxStyle.Information, "Cadastro")
                Finally
                    con.Close()
                End Try
            End Using
        End Sub
        Private Sub frmCadastro_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            PLimpaCampos()
        End Sub
    
        Private Sub GroupBox1_Enter(sender As Object, e As EventArgs) Handles GroupBox1.Enter
    
        End Sub
    
        Private Sub btnCadastrar_Click(sender As Object, e As EventArgs) Handles btnCadastrar.Click
            PLimpaCampos()
        End Sub
    
        Private Sub btnExcluit_Click(sender As Object, e As EventArgs) Handles btnExcluit.Click
            If txtCodigo.Text = "Novo" Then
                MsgBox("Informe o usuario para ser excluido", MsgBoxStyle.Exclamation, "Cadastro")
                Exit Sub
            End If
            If txtusuario.Text = "Administrador" Then
                MsgBox("O usuario não pode ser excluido,pois é um Administrador")
                Exit Sub
            End If
            PExcluir()
            PLimpaCampos()
            MsgBox("Usuario excluido com sucesso", MsgBoxStyle.Exclamation, "Cadastro")
    
        End Sub
    
        Private Sub btnEditarSalvar_Click(sender As Object, e As EventArgs) Handles btnEditarSalvar.Click
            If FValidaCampos() = False Then Exit Sub
            If txtCodigo.Text = "NOVO" Then
                PSalva()
                PLimpaCampos()
                MsgBox("Usuario salvo com sucesso", MsgBoxStyle.Exclamation, "Balihoo")
            Else
                PEdita()
                PLimpaCampos()
                MsgBox("Usuario atualizado com sucesso", MsgBoxStyle.Exclamation, "Balihoo")
            End If
        End Sub
    
        Private Sub btnCancelar_Click(sender As Object, e As EventArgs) Handles btnCancelar.Click
            PLimpaCampos()
        End Sub
    
        Private Sub UsuariosCadastradoToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UsuariosCadastradoToolStripMenuItem.Click
    
        End Sub
        Private Sub PLerDados()
            Dim dr As OleDbDataReader = Nothing
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "SELECT * FROM tabusuarios WHERE Código =" & txtCodigo.Text
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                    dr = cmd.ExecuteReader
                    If dr.HasRows Then
                        dr.Read()
                        txtusuario.Text = dr.Item("usuario")
                        txtsenha.Text = dr.Item("senha")
                        cmdPerfil.Text = dr.Item("perfil")
                    Else
                        MsgBox("Informe corretamente o codigo do usuario", MsgBoxStyle.Information, "Lista de Usuarios")
                    End If
                Catch ex As Exception
                    MessageBox.Show(ex.ToString())
                Finally
                    con.Close()
                End Try
            End Using
        End Sub
        Private Sub UsuariosCadastradosToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UsuariosCadastradosToolStripMenuItem.Click
            frmListaDeUsuario.ShowDialog()
            txtCodigo.Text = intCodigoUsuario
            PLerDados()
        End Sub
    
        Private Sub txtCodigo_TextChanged(sender As Object, e As EventArgs) Handles txtCodigo.TextChanged
            If txtCodigo.Text <> "NOVO" Then
                PLerDados()
            End If
        End Sub
    End Class

     
    • Editado iBueninho sábado, 3 de março de 2018 02:23
    sábado, 3 de março de 2018 02:14

Respostas

  • Bom dia, estou vendo que está com bastante dificuldade para efetuar operações no banco de dados.

    Abaixo vou deixar o código das 4 operações básicas do BD

    Insert

    Private Sub PSalva()
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "INSERT INTO LOGIN (USUARIO, SENHA, PERFIL) VALUES (?,?,?)"
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@USUARIO", txtLog.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@SENHA", txtSen.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@PERFIL", cmbPerf.Text))
                    cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("Ocorreu um erro ao tentar gravar o Usuário.")
                Finally
                    con.Close()
                End Try
            End Using
        End Sub

    DELETE

     Private Sub PExclui()
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "DELETE FROM LOGIN WHERE codigo=" & txtCod.Text
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                    cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("Ocorreu um erro ao tentar excluir o Usuário.")
                Finally
                    con.Close()
                End Try
            End Using
        End Sub

    UPDATE

    Private Sub PEdita()
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "UPDATE LOGIN SET USUARIO=?, SENHA=?, PERFIL=? WHERE codigo=" & txtCod.Text
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@USUARIO", txtLog.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@SENHA", txtSen.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@PERFIL", cmbPerf.Text))
                               cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("Ocorreu um erro ao tentar alterar o Usuário.")
                Finally
                    con.Close()
                End Try
            End Using
        End Sub

    SELECT

     Private Sub PLeDados()
            Dim dr As OleDbDataReader = Nothing
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "SELECT * FROM LOGIN WHERE codigo=" & txtCod.Text
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                    dr = cmd.ExecuteReader
                    If dr.HasRows Then
                        dr.Read()
                        txtCod.Text = dr.Item("Codigo")
                        txtLog.Text = dr.Item("USUARIO")
                        txtSen.Text = dr.Item("SENHA")
                        cmbPerf.Text = dr.Item("PERFIL")
                    Else
                        MsgBox("Iforme Corretamente o Código do Usuário!", MsgBoxStyle.Exclamation)
                    End If
    
                Catch ex As Exception
                    MsgBox("Ocorreu um erro ao tentar excluir o Usuário.")
                Finally
                    con.Close()
                End Try
            End Using
        End Sub

    Espero que ajude!

    Att.

    • Marcado como Resposta iBueninho sábado, 3 de março de 2018 15:28
    sábado, 3 de março de 2018 13:51

Todas as Respostas

  • Bom dia.

    Primeiramente, um conselho prático. Sempre (ao menos quando se está criando) coloque um retorno para erros no try/catch, assim:

     Catch ex As Exception
                    MessageBox.Show(ex.ToString())

    Com isto você saberá qual linha está com erro ou pelo menos indicação.

    Segundo, há vários erros de digitação, provavelmente. Com a instrução acima você encontrará um a um, porém, se precisar, retorne que tentaremos ajudar.

    Dim sql As String = "DELETE FROM tabusuarios HERE Código" & txtCodigo.Text

    Dim sql As String = "DELETE FROM tabusuarios WHERE Código = " & txtCodigo.Text

    "UPDATE tabusuarios SET usuario=?,senha=?,perfil=? WHERE Código" & txtCodigo.Text

    "UPDATE tabusuarios SET usuario=?,senha=?,perfil=? WHERE Código = " & txtCodigo.Text


    MARIANO1776

    sábado, 3 de março de 2018 13:07
  • Bom dia, estou vendo que está com bastante dificuldade para efetuar operações no banco de dados.

    Abaixo vou deixar o código das 4 operações básicas do BD

    Insert

    Private Sub PSalva()
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "INSERT INTO LOGIN (USUARIO, SENHA, PERFIL) VALUES (?,?,?)"
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@USUARIO", txtLog.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@SENHA", txtSen.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@PERFIL", cmbPerf.Text))
                    cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("Ocorreu um erro ao tentar gravar o Usuário.")
                Finally
                    con.Close()
                End Try
            End Using
        End Sub

    DELETE

     Private Sub PExclui()
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "DELETE FROM LOGIN WHERE codigo=" & txtCod.Text
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                    cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("Ocorreu um erro ao tentar excluir o Usuário.")
                Finally
                    con.Close()
                End Try
            End Using
        End Sub

    UPDATE

    Private Sub PEdita()
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "UPDATE LOGIN SET USUARIO=?, SENHA=?, PERFIL=? WHERE codigo=" & txtCod.Text
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@USUARIO", txtLog.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@SENHA", txtSen.Text))
                    cmd.Parameters.Add(New OleDb.OleDbParameter("@PERFIL", cmbPerf.Text))
                               cmd.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox("Ocorreu um erro ao tentar alterar o Usuário.")
                Finally
                    con.Close()
                End Try
            End Using
        End Sub

    SELECT

     Private Sub PLeDados()
            Dim dr As OleDbDataReader = Nothing
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "SELECT * FROM LOGIN WHERE codigo=" & txtCod.Text
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                    dr = cmd.ExecuteReader
                    If dr.HasRows Then
                        dr.Read()
                        txtCod.Text = dr.Item("Codigo")
                        txtLog.Text = dr.Item("USUARIO")
                        txtSen.Text = dr.Item("SENHA")
                        cmbPerf.Text = dr.Item("PERFIL")
                    Else
                        MsgBox("Iforme Corretamente o Código do Usuário!", MsgBoxStyle.Exclamation)
                    End If
    
                Catch ex As Exception
                    MsgBox("Ocorreu um erro ao tentar excluir o Usuário.")
                Finally
                    con.Close()
                End Try
            End Using
        End Sub

    Espero que ajude!

    Att.

    • Marcado como Resposta iBueninho sábado, 3 de março de 2018 15:28
    sábado, 3 de março de 2018 13:51
  • Muito obrigado,os dois me ajudo muito,agora ta tudo OK,na maioria e falta de atenção e erro de escrita.
    sábado, 3 de março de 2018 15:28