BOTAO EXCLUIR COM CONEXAO MYSQL
[txt-color=#e80000] Aqui vai minha lógica [/txt-color]
[txt-size=2][txt-color=#0000f0] Private Sub btnExcCli_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcCli.Click
If [txt-color=#080808]cboAllCli.Text[/txt-color] = [Ô][Ô] Then
MsgBox([txt-color=#e80000][Ô]Adicione um nome[Ô][/txt-color], MsgBoxStyle.[txt-color=#080808]Exclamation[/txt-color], [txt-color=#e80000][Ô]Atenção[Ô][/txt-color])
Else
Dim [txt-color=#080808]resp[/txt-color] As Integer
[txt-color=#080808]resp[/txt-color] = MsgBox([txt-color=#e80000][Ô]Confirma a exclusão do cliente?[Ô][/txt-color],[txt-color=#080808] MsgBoxStyle.Exclamation + MsgBoxStyle.YesNo[/txt-color], [txt-color=#e80000][Ô]Responda[Ô][/txt-color])
Dim [txt-color=#080808]codCli[/txt-color] As Integer = [txt-color=#080808]vcodcli(cboAllCli.SelectedIndex)[/txt-color]
If [txt-color=#080808]resp[/txt-color] = [txt-color=#080808]vbYes[/txt-color] Then
Data_Connect()
[txt-color=#080808]DtaRead[/txt-color] = Data_Reader([txt-color=#e80000][Ô]Select cod_Cliente from VENDA where cod_Cliente = [Ô][/txt-color] & [txt-color=#080808]codCli[/txt-color])
If Not [txt-color=#080808]DtaRead.Read[/txt-color] Then
Try
[txt-color=#080808]cboAllCli.Items.Remove(cboAllCli.SelectedItem)[/txt-color]
[txt-color=#080808]Comando[/txt-color] = New MySqlCommand
[txt-color=#080808]Comando.Connection = Conexao[/txt-color]
[txt-color=#080808]Comando.CommandType[/txt-color] = CommandType.[txt-color=#080808]Text[/txt-color]
[txt-color=#080808] Comando.CommandText[/txt-color] = [txt-color=#e80000][Ô]Delete from CLIENTE where cod_Cliente = [Ô] & codCli[/txt-color]
[txt-color=#080808]Comando.ExecuteNonQuery()[/txt-color]
[txt-color=#080808] Comando.Dispose()[/txt-color]
[txt-color=#080808] Nomes()[/txt-color]
Catch [txt-color=#080808]ex[/txt-color] As Exception
MsgBox([txt-color=#e80000][Ô]Falha na exclusão.[Ô][/txt-color] [txt-color=#080808]& vbCrLf & ex.Message[/txt-color], MsgBoxStyle.Critical, [txt-color=#e80000][Ô]Erro![Ô][/txt-color])
End Try
Else
[txt-color=#080808]DtaRead.Close()[/txt-color]
MsgBox([txt-color=#e80000][Ô]Cliente não pode ser excluÃdo.[Ô][/txt-color][txt-color=#080808] & vbCrLf &[/txt-color] [txt-color=#e80000][Ô]Contas a pagar.[Ô][/txt-color], MsgBoxStyle.Exclamation,[txt-color=#e80000] [Ô]Atenção[Ô][/txt-color])
[txt-color=#080808] cboAllCli.Focus()[/txt-color]
End If
End If
End If
End Sub [/txt-color]
[txt-color=#e80000] Dá o seguinte erro [Ô]Connection must be valid and open[Ô] [/txt-color][/txt-size]
[txt-size=2][txt-color=#007100] Por favor ajudem é meu TCC de Informática [/txt-color][txt-color=#0000f0] [/txt-color][/txt-size]
[txt-size=2][txt-color=#0000f0] Private Sub btnExcCli_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcCli.Click
If [txt-color=#080808]cboAllCli.Text[/txt-color] = [Ô][Ô] Then
MsgBox([txt-color=#e80000][Ô]Adicione um nome[Ô][/txt-color], MsgBoxStyle.[txt-color=#080808]Exclamation[/txt-color], [txt-color=#e80000][Ô]Atenção[Ô][/txt-color])
Else
Dim [txt-color=#080808]resp[/txt-color] As Integer
[txt-color=#080808]resp[/txt-color] = MsgBox([txt-color=#e80000][Ô]Confirma a exclusão do cliente?[Ô][/txt-color],[txt-color=#080808] MsgBoxStyle.Exclamation + MsgBoxStyle.YesNo[/txt-color], [txt-color=#e80000][Ô]Responda[Ô][/txt-color])
Dim [txt-color=#080808]codCli[/txt-color] As Integer = [txt-color=#080808]vcodcli(cboAllCli.SelectedIndex)[/txt-color]
If [txt-color=#080808]resp[/txt-color] = [txt-color=#080808]vbYes[/txt-color] Then
Data_Connect()
[txt-color=#080808]DtaRead[/txt-color] = Data_Reader([txt-color=#e80000][Ô]Select cod_Cliente from VENDA where cod_Cliente = [Ô][/txt-color] & [txt-color=#080808]codCli[/txt-color])
If Not [txt-color=#080808]DtaRead.Read[/txt-color] Then
Try
[txt-color=#080808]cboAllCli.Items.Remove(cboAllCli.SelectedItem)[/txt-color]
[txt-color=#080808]Comando[/txt-color] = New MySqlCommand
[txt-color=#080808]Comando.Connection = Conexao[/txt-color]
[txt-color=#080808]Comando.CommandType[/txt-color] = CommandType.[txt-color=#080808]Text[/txt-color]
[txt-color=#080808] Comando.CommandText[/txt-color] = [txt-color=#e80000][Ô]Delete from CLIENTE where cod_Cliente = [Ô] & codCli[/txt-color]
[txt-color=#080808]Comando.ExecuteNonQuery()[/txt-color]
[txt-color=#080808] Comando.Dispose()[/txt-color]
[txt-color=#080808] Nomes()[/txt-color]
Catch [txt-color=#080808]ex[/txt-color] As Exception
MsgBox([txt-color=#e80000][Ô]Falha na exclusão.[Ô][/txt-color] [txt-color=#080808]& vbCrLf & ex.Message[/txt-color], MsgBoxStyle.Critical, [txt-color=#e80000][Ô]Erro![Ô][/txt-color])
End Try
Else
[txt-color=#080808]DtaRead.Close()[/txt-color]
MsgBox([txt-color=#e80000][Ô]Cliente não pode ser excluÃdo.[Ô][/txt-color][txt-color=#080808] & vbCrLf &[/txt-color] [txt-color=#e80000][Ô]Contas a pagar.[Ô][/txt-color], MsgBoxStyle.Exclamation,[txt-color=#e80000] [Ô]Atenção[Ô][/txt-color])
[txt-color=#080808] cboAllCli.Focus()[/txt-color]
End If
End If
End If
End Sub [/txt-color]
[txt-color=#e80000] Dá o seguinte erro [Ô]Connection must be valid and open[Ô] [/txt-color][/txt-size]
[txt-size=2][txt-color=#007100] Por favor ajudem é meu TCC de Informática [/txt-color][txt-color=#0000f0] [/txt-color][/txt-size]
VC TEM QUE ABRIR A CONEXAO
EXEMPLO
conexao.open()
antes dos comandos
EXEMPLO
conexao.open()
antes dos comandos
Bom dia,
WELLINGHTON, sugiro que dê uma lida nas Regras de Conduta do fórum, em especial o item N° 08.
WELLINGHTON, sugiro que dê uma lida nas Regras de Conduta do fórum, em especial o item N° 08.
[txt-color=#007100]Minha conexão está sendo aberta com o Data_Conect: [/txt-color]
[txt-size=2][txt-color=#0000f0]Public Sub[/txt-color] Data_Connect()
[txt-color=#0000f0]Try[/txt-color]
Conexao = [txt-color=#0000f0]New MySqlConnection[/txt-color]
Conexao.ConnectionString = [txt-color=#e80000][Ô]Server=localhost; Database=eClientes; Uid=root; Pwd=root;[Ô][/txt-color]
Conexao.Open()
[txt-color=#0000f0]Catch[/txt-color] ex [txt-color=#0000f0]As Exception[/txt-color]
MsgBox([txt-color=#e80000][Ô]Falha na conexão com Banco de Dados:[Ô][/txt-color] & vbCrLf & ex.Message, MsgBoxStyle.Critical, [txt-color=#e80000][Ô]Ligue para o suporte[Ô][/txt-color])
[txt-color=#0000f0]End Try[/txt-color]
[txt-color=#0000f0]End Sub[/txt-color][/txt-size]
Então eu já abri ela na linha:
[txt-size=2][txt-color=#e80000]Data_Connect()
DtaRead = Data_Reader([Ô]Select cod_Cliente from VENDA where cod_Cliente = [Ô] & codCli)[/txt-size][/txt-color]
[txt-size=2]Mil desculpas moderador, sou novo aqui = ([/txt-size]
[txt-size=2][txt-color=#0000f0]Public Sub[/txt-color] Data_Connect()
[txt-color=#0000f0]Try[/txt-color]
Conexao = [txt-color=#0000f0]New MySqlConnection[/txt-color]
Conexao.ConnectionString = [txt-color=#e80000][Ô]Server=localhost; Database=eClientes; Uid=root; Pwd=root;[Ô][/txt-color]
Conexao.Open()
[txt-color=#0000f0]Catch[/txt-color] ex [txt-color=#0000f0]As Exception[/txt-color]
MsgBox([txt-color=#e80000][Ô]Falha na conexão com Banco de Dados:[Ô][/txt-color] & vbCrLf & ex.Message, MsgBoxStyle.Critical, [txt-color=#e80000][Ô]Ligue para o suporte[Ô][/txt-color])
[txt-color=#0000f0]End Try[/txt-color]
[txt-color=#0000f0]End Sub[/txt-color][/txt-size]
Então eu já abri ela na linha:
[txt-size=2][txt-color=#e80000]Data_Connect()
DtaRead = Data_Reader([Ô]Select cod_Cliente from VENDA where cod_Cliente = [Ô] & codCli)[/txt-size][/txt-color]
[txt-size=2]Mil desculpas moderador, sou novo aqui = ([/txt-size]
Wellington faz um debbug e verifica se realmente esta abrindo sua conexão
1 - O erro é em qual linha? Depure e veja onde está ocorrendo.
2 - Sinceramente, se eu fosse da bancada do seu TCC, você bombaria na hora. Leia-se:
- Não orientado à objeto
- Comandos SQL totalmente vulneráveis à SQL Injection
- Quase nenhum reaproveitamento de código
- Código de leitura não clara para terceiros
2 - Sinceramente, se eu fosse da bancada do seu TCC, você bombaria na hora. Leia-se:
- Não orientado à objeto
- Comandos SQL totalmente vulneráveis à SQL Injection
- Quase nenhum reaproveitamento de código
- Código de leitura não clara para terceiros
Private Sub btnExcCli_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcCli.Click
If cboAllCli.Text = [Ô][Ô] Then
MsgBox([Ô]Selecione um cliente[Ô], MsgBoxStyle.Exclamation, [Ô]Atenção[Ô])
Else
Dim resp As Integer
resp = MsgBox([Ô]Confirma a exclusão do cliente?[Ô], MsgBoxStyle.Exclamation + MsgBoxStyle.YesNo, [Ô]Responda[Ô])
Dim codCli As Integer = vcodcli(cboAllCli.SelectedIndex)
If resp = vbYes Then
Data_Connect()
DtaRead = Data_Reader([Ô]Select cod_Cliente from VENDA where cod_Cliente = [Ô] & codCli)
If Not DtaRead.Read Then
Try
Data_Connect()
cboAllCli.Items.Remove(cboAllCli.SelectedItem)
Comando = New MySqlCommand
Comando.Connection = Conexao
Comando.CommandType = CommandType.Text
Comando.CommandText = [Ô]Delete from CLIENTE where cod_Cliente = [Ô] & codCli
DtaRead.Read()
Data_Connect()
Comando.ExecuteNonQuery()
Comando.Dispose()
Comando.Dispose()
Nomes()
Catch ex As Exception
[txt-size=2][txt-color=#e80000]MsgBox([Ô]Falha na exclusão.[Ô] & vbCrLf & ex.Message, MsgBoxStyle.Critical, [Ô]Erro![Ô])[/txt-color] Essa é a linha do erro. Esse é apenas UM botão [txt-color=#e80000] Repetindo: O erro é Connection must be valid and open [/txt-color] [/txt-size]
End Try
Else
DtaRead.Close()
MsgBox([Ô]Cliente não pode ser excluÃdo.[Ô] & vbCrLf & [Ô]Contas a pagar.[Ô], MsgBoxStyle.Exclamation, [Ô]Atenção[Ô])
cboAllCli.Focus()
End If
End If
End If
End Sub
If cboAllCli.Text = [Ô][Ô] Then
MsgBox([Ô]Selecione um cliente[Ô], MsgBoxStyle.Exclamation, [Ô]Atenção[Ô])
Else
Dim resp As Integer
resp = MsgBox([Ô]Confirma a exclusão do cliente?[Ô], MsgBoxStyle.Exclamation + MsgBoxStyle.YesNo, [Ô]Responda[Ô])
Dim codCli As Integer = vcodcli(cboAllCli.SelectedIndex)
If resp = vbYes Then
Data_Connect()
DtaRead = Data_Reader([Ô]Select cod_Cliente from VENDA where cod_Cliente = [Ô] & codCli)
If Not DtaRead.Read Then
Try
Data_Connect()
cboAllCli.Items.Remove(cboAllCli.SelectedItem)
Comando = New MySqlCommand
Comando.Connection = Conexao
Comando.CommandType = CommandType.Text
Comando.CommandText = [Ô]Delete from CLIENTE where cod_Cliente = [Ô] & codCli
DtaRead.Read()
Data_Connect()
Comando.ExecuteNonQuery()
Comando.Dispose()
Comando.Dispose()
Nomes()
Catch ex As Exception
[txt-size=2][txt-color=#e80000]MsgBox([Ô]Falha na exclusão.[Ô] & vbCrLf & ex.Message, MsgBoxStyle.Critical, [Ô]Erro![Ô])[/txt-color] Essa é a linha do erro. Esse é apenas UM botão [txt-color=#e80000] Repetindo: O erro é Connection must be valid and open [/txt-color] [/txt-size]
End Try
Else
DtaRead.Close()
MsgBox([Ô]Cliente não pode ser excluÃdo.[Ô] & vbCrLf & [Ô]Contas a pagar.[Ô], MsgBoxStyle.Exclamation, [Ô]Atenção[Ô])
cboAllCli.Focus()
End If
End If
End If
End Sub
Isso, não é a linha do erro, é a linha que o bloco try executa APÓS o erro ocorrer. Como você está dentro de um bloco try/catch, qualquer erro que ocorrer dentro do sub-bloco try, será desviado para o bloco catch. Ou seja, se está no bloco catch, o erro aconteceu em OUTRA LINHA. Só de curiosidade, está cursando qual instituição?
[txt-color=#e80000] [/txt-color][txt-size=2] ETEC, Andradina [/txt-size]
Ok, conseguiu depurar o código linha à linha e ver em qual delas o erro ocorre?
[txt-color=#e80000]O tempo é curto pois no primeiro e segundo módulo a única base de programação que temos é VisualG, ou seja, apenas um pequeno esboço e só em Console, logo no segundo módulo temos a base de VB.NET como while, if, for each,case o máximo que fizemos foi uma pequena calculadora [ô]-[ô] .[/txt-color] Voltando ao assunto, o erro então não está no Catch não é? O Catch é apenas uma exceção caso o Try não dê certo, correto? Pode-se dizer então que o erro é dentro do bloco Try?
Tópico encerrado , respostas não são mais permitidas