PROBLEMAS PARA APAGAR REGISTRO
Prezados amigos, mais uma vez estou precisando da ajuda de vocês.
Tenho um banco de dados, como uma tabela que contem 3 colunas, na ultima coluna fica registros de quantidade, na coluna de quantidade quando ficar o valor [Ô] 0 [Ô] (zero), quero deletar esta linha, os comando que uso não apresenta erro, porém a linha não é apagada.
Segue os comandos que estou usando:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con = New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & My.Application.Info.DirectoryPath & [Ô]\Banco de dados.MDB[Ô])
Dim deletar As String
deletar = [Ô]DELETE FROM tabela1 WHERE coluna3 = [Ô] & 0
Dim del As New OleDbCommand(deletar, con)
con.Open()
del.ExecuteNonQuery()
con.Close()
MessageBox.Show([Ô]Registros deletados com sucesso![Ô])
End Sub
Obrigado a todos que puderem me ajudar.
Mário.
Tenho um banco de dados, como uma tabela que contem 3 colunas, na ultima coluna fica registros de quantidade, na coluna de quantidade quando ficar o valor [Ô] 0 [Ô] (zero), quero deletar esta linha, os comando que uso não apresenta erro, porém a linha não é apagada.
Segue os comandos que estou usando:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con = New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & My.Application.Info.DirectoryPath & [Ô]\Banco de dados.MDB[Ô])
Dim deletar As String
deletar = [Ô]DELETE FROM tabela1 WHERE coluna3 = [Ô] & 0
Dim del As New OleDbCommand(deletar, con)
con.Open()
del.ExecuteNonQuery()
con.Close()
MessageBox.Show([Ô]Registros deletados com sucesso![Ô])
End Sub
Obrigado a todos que puderem me ajudar.
Mário.
experimente colocar um try catch para capturar um possivel erro, tipo assim:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim con = New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & My.Application.Info.DirectoryPath & [Ô]\Banco de dados.MDB[Ô])
Dim deletar As String
deletar = [Ô]DELETE FROM tabela1 WHERE coluna3 = [Ô] & 0
Dim del As New OleDbCommand(deletar, con)
con.Open()
del.ExecuteNonQuery()
con.Close()
MessageBox.Show([Ô]Registros deletados com sucesso![Ô])
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Tente ai dessa forma e se der erro e voce não descobrir o problema, mande a mensagem de erro para podermos entender o que está acontecendo.
vlw
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim con = New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & My.Application.Info.DirectoryPath & [Ô]\Banco de dados.MDB[Ô])
Dim deletar As String
deletar = [Ô]DELETE FROM tabela1 WHERE coluna3 = [Ô] & 0
Dim del As New OleDbCommand(deletar, con)
con.Open()
del.ExecuteNonQuery()
con.Close()
MessageBox.Show([Ô]Registros deletados com sucesso![Ô])
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Tente ai dessa forma e se der erro e voce não descobrir o problema, mande a mensagem de erro para podermos entender o que está acontecendo.
vlw
De fato, não aparenta problemas com a lógica. Com a pasta e a existência do arquivo de dados nela, pode ser, mas não com a lógica. A sugestão do JABA (Try/Catch) é perfeitamente adequada e aliás, deveria ser padrão para toda rotina de conexão, operação CRUD, acessos á arquivos e/ou redes, pelo menos.
Eu sugeriria apenas uma pequena alteração á sugestão do JABA, e ainda assim, apenas para não manter uma conexão [Ô]pendurada[Ô] na eventual ocorrência de erro:
Eu sugeriria apenas uma pequena alteração á sugestão do JABA, e ainda assim, apenas para não manter uma conexão [Ô]pendurada[Ô] na eventual ocorrência de erro:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim pst As String = String.Format([Ô]{0}\Banco de dados.MDB[Ô], My.Application.Info.DirectoryPath)
Dim cs As String = String.Format([Ô]Provider=Microsoft.Jet.OleDb.4.0;Data Source={0};[Ô],pst)
Dim deletar As String = [Ô]DELETE FROM tabela1 WHERE coluna3 = 0[Ô]
Using con As New OleDbConnection(cs)
con.Open()
Using cmd As OleDbCommand = con.CreateCommand
cmd.CommandText = deletar
cmd.ExecuteNonQuery()
End Using
End Using
MessageBox.Show([Ô]Registros deletados com sucesso![Ô])
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
JABA, obrigado pela sugestão, fiz as modificações sugeridas pelo PROFESSOR e resolveu o problema, ainda não descobri o que estava errado antes, mas agradeço a todos.
Tópico encerrado , respostas não são mais permitidas