Usuário com melhor resposta
VB.Net Sistema Banco de dados

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
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
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
-
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
-