none
Apagar dados do banco de dados pela dataGrid RRS feed

  • Pergunta

  • Estou fazendo uma agenda com banco de dados, e quero apagar os dados do banco ao selecionar o dado na linha da dataGrid. para isso fiz um metodo que apaga que e assim:

     

    Public Sub DeletaDados()
            Dim Comando As SqlCommand = New SqlCommand()
            Dim N As Integer
    
            Try
                AbreConexao()
                Comando.Connection = Con
                Comando.CommandType = CommandType.Text
                Comando.CommandText = "Delete from CLIENTE where id = @id"
                Comando.Parameters.AddWithValue("@id", FormAgenda.DgAgenda.CurrentRow.Cells(0).Value)
                N = Comando.ExecuteNonQuery()
                MessageBox.Show("Contato Deletado! ")
    
            Catch ex As Exception
                MessageBox.Show("Erro ao deletar: " & ex.Message)
            Finally
                FechaConexao()
            End Try
        End Sub

    mas agora no evento do botao delete como eu chamo esse metodo? sera que eu tenho q passar algum argumento? eu tava pensando em passar o objeto, dessa forma:

     objCliente = DgAgenda.CurrentRow.Cells(0).Value

    mas da um erro. Nao sei, se alguem tiver uma ideia me ajudem. vlw.

    sexta-feira, 26 de março de 2010 20:45

Respostas

Todas as Respostas

  • Roger, que qual é o erro gerado?

    Pelo que vejo, basta você chamar o método no evento Click do botão normalmente.

     

     

    att.

    sábado, 27 de março de 2010 17:30
  • Roger, que qual é o erro gerado?

    Pelo que vejo, basta você chamar o método no evento Click do botão normalmente.

     

     

    att.

     Eu mudei o metodo agora eu fiz assim: 

     

     

    PPublic Sub DeletaDados()
            Dim Comando As SqlCommand = New SqlCommand()
            Dim N As Integer
    
            Try
                AbreConexao()
                Comando.Connection = Con
                Comando.CommandType = CommandType.Text
                Comando.CommandText = "Delete from CLIENTE where id = FormAgenda.DgAgenda.CurrentRow.Cells(0).Value"
                Comando.Parameters.RemoveAt(FormAgenda.DgAgenda.CurrentRow.Cells(0).Value)
                N = Comando.ExecuteNonQuery()
                MessageBox.Show("Contato Apagado! ")
    
            Catch ex As Exception
                MessageBox.Show("Erro ao apagar: " & ex.Message)
            Finally
                FechaConexao()
            End Try
        End Sub

    O erro que ele da agora, e uma exception SQL: 

    Not allowed to change the 'Connection String' property. The connection's current state is open.

     

    domingo, 28 de março de 2010 18:36
  • Tens de verificar o estado da conexão. Você tentou abrir conexão, mas já havia uma conexão aberta.

     

    att.

    segunda-feira, 29 de março de 2010 13:27