Ruben_Barbosa
Power Member
PRecisava de uma dica vossa pessoal, como eleminar uma linha selecionada de um datagridview
Última edição:
int rowNumber = dataGridView.CurrentRow();
DataGridView1.Rows.RemoveAt(DataGridView1.SelectedRows(0).Index)
Try
Dim respostas As String
respostas = MsgBox("Deseja Eliminar os dados?", MsgBoxStyle.Question + MsgBoxStyle.YesNo + 256)
If respostas = 6 Then
DataGridView2.Rows.RemoveAt(DataGridView2.SelectedRows(0).Index)
Dim cmSQL As New SqlCommand("Delete dispositivo from ID_disp=@ID_disp,Tipo=@Tipo,Marca=@Marca,Modelo=@Modelo,Departamento=@Departamento WHERE ID_disp=@ID_disp", cnSQL)
cmSQL.Parameters.Add(New SqlParameter("@Tipo", TextBox10.Text))
cmSQL.Parameters.Add(New SqlParameter("@Marca", TextBox11.Text))
cmSQL.Parameters.Add(New SqlParameter("@Modelo", TextBox12.Text))
cmSQL.Parameters.Add(New SqlParameter("@Departamento", TextBox13.Text))
cmSQL.Parameters.Add(New SqlParameter("@ID_disp", TextBox9.Text))
cmSQL.ExecuteNonQuery()
cmSQL.Dispose()
MsgBox("Dados alterados com sucesso.", MsgBoxStyle.Information)
End If
Catch
End Try
"Delete dispositivo from ID_disp=@ID_disp,Tipo=@Tipo,Marca=@Marca,Modelo=@Modelo,Departamento=@Departamento WHERE ID_disp=@ID_disp"
DELETE FROM dispositivo WHERE ID_disp=@ID_disp
Try
Dim respostas As String
respostas = MsgBox("Deseja Eliminar os dados?", MsgBoxStyle.Question + MsgBoxStyle.YesNo + 256)
If respostas = 6 Then
DataGridView2.Rows.RemoveAt(DataGridView2.SelectedRows(0).Index)
Dim cmSQL As New SqlCommand("DELETE FROM dispositivo WHERE ID_disp=@ID_disp,Tipo=@Tipo,Marca=@Marca,Modelo=@Modelo,Departamento=@Departamento", cnSQL)
cmSQL.Parameters.Add(New SqlParameter("@Tipo", TextBox10.Text))
cmSQL.Parameters.Add(New SqlParameter("@Marca", TextBox11.Text))
cmSQL.Parameters.Add(New SqlParameter("@Modelo", TextBox12.Text))
cmSQL.Parameters.Add(New SqlParameter("@Departamento", TextBox13.Text))
cmSQL.Parameters.Add(New SqlParameter("@ID_disp", TextBox9.Text))
cmSQL.ExecuteNonQuery()
cmSQL.Dispose()
MsgBox("Dados alterados com sucesso.", MsgBoxStyle.Information)
End If
Catch
End Try
PEssoal é o seguinte ele apaga-me a linha do datagridview mas não me apaga da bd :S
Pois faco actualizar o dtgview e torna aparecer :S
Meu codigo
Código:Try Dim respostas As String respostas = MsgBox("Deseja Eliminar os dados?", MsgBoxStyle.Question + MsgBoxStyle.YesNo + 256) If respostas = 6 Then Dim cmSQL As New SqlCommand("DELETE FROM dispositivo WHERE ID_disp=@ID_disp", cnSQL) cmSQL.ExecuteNonQuery() cmSQL.Dispose() MsgBox("Dados alterados com sucesso.", MsgBoxStyle.Information) DataGridView2.Rows.RemoveAt(DataGridView2.SelectedRows(0).Index) End If Catch End Try
Nao dá :S:S ****
Não dá o quê ?
Mostra lá como está agora e qual é o resultado da variavel "result" ?
delete from dispositivos where ID_disp='"DISP=01"'
DataGridView2.Rows.RemoveAt(DataGridView2.SelectedRows(0).Index
Try
Dim respostas As String
respostas = MsgBox("Deseja Eliminar os dados?", MsgBoxStyle.Question + MsgBoxStyle.YesNo + 256)
If respostas = 6 Then
DataGridView2.Rows.RemoveAt(DataGridView2.SelectedRows(0).Index)
Dim cmSQL As New SqlCommand("DELETE FROM dispositivo WHERE ID_disp=@ID_dip", cnSQL)
cmSQL.ExecuteNonQuery()
cmSQL.Dispose()
MsgBox("Dados alterados com sucesso.", MsgBoxStyle.Information)
End If
Catch
End Try
Alguem pode dar uma mãozinha?
não ta a funcar n sei pk, tipo Ele apagar me a linha do Datagridview mAS nao da BD
Dim cmSQL As New SqlCommand("DELETE FROM dispositivo WHERE ID_disp=@ID_disp", cnSQL)
cmSQL.ExecuteNonQuery()
Dim TempID as integer
TempID = dtgview.SelectedRows(0).Cells("O nome da coluna que tem o ID").Value
Dim cmSQL As New SqlCommand("DELETE FROM dispositivo WHERE ID_disp=" & TempID, cnSQL)
cmSQL.ExecuteNonQuery()
Ou estás a fazer alguma coisa errada, ou não tens permissão na DB para um DELETE.
Exprimenta sem usar argumentos, ou seja, a query directa toda "escrevinhada" à pata.
Usa a solução que o jpaulino te deu para receberes o resultado da query.