DELETAR UMA LINHA USANDO VARIAVEIS
Caros amigos, estou com um novo problema, Tenho um banco de dados com duas tabelas, quero pegar as informações da tabela1 e informar em variáveis, depois quero que seja apagada as mesmas informações na tabela2 para não ter duplicidade, quero também apagar na tabela2 as linhas que contém 0(zero).
Segue os códigos 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[Ô])
con.Open()
Dim sql As String = [Ô] select coluna1,coluna2,coluna3 FROM tabela1[Ô]
Dim CD As New OleDbCommand()
CD.Connection = con
CD.CommandText = sql
Dim DR As OleDbDataReader = CD.ExecuteReader
If DR.Read Then
Dim VAR1 As String = CStr(DR([Ô]coluna1[Ô]))
Dim VAR2 As String = CStr(DR([Ô]coluna2[Ô]))
Dim VAR3 As String = CStr(DR([Ô]coluna3[Ô]))
Dim deletar As String
deletar = [Ô]delete from tabela2 where N1 = [ô] & 0 & [ô];[Ô]
Dim DEL As New OleDbCommand(deletar, con)
DEL.ExecuteNonQuery()
DEL.CommandText = deletar
deletar = [Ô]DELETE FROM tabela2 WHERE coluna1=[ô]&VAR1&[ô], coluna2=[ô]&VAR2[ô], coluna3=[ô]&VAR3[ô][Ô]
DEL.ExecuteNonQuery()
End If
End Sub
Na linha: DEL.ExecuteNonQuery() --> aparece a mensagem [Ô]Nenhum valor foi fornecido para um ou mais parâmetros necessários.[Ô] na hora que tento executar.
Obrigado a todos pela ajuda.
Mário.
Segue os códigos 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[Ô])
con.Open()
Dim sql As String = [Ô] select coluna1,coluna2,coluna3 FROM tabela1[Ô]
Dim CD As New OleDbCommand()
CD.Connection = con
CD.CommandText = sql
Dim DR As OleDbDataReader = CD.ExecuteReader
If DR.Read Then
Dim VAR1 As String = CStr(DR([Ô]coluna1[Ô]))
Dim VAR2 As String = CStr(DR([Ô]coluna2[Ô]))
Dim VAR3 As String = CStr(DR([Ô]coluna3[Ô]))
Dim deletar As String
deletar = [Ô]delete from tabela2 where N1 = [ô] & 0 & [ô];[Ô]
Dim DEL As New OleDbCommand(deletar, con)
DEL.ExecuteNonQuery()
DEL.CommandText = deletar
deletar = [Ô]DELETE FROM tabela2 WHERE coluna1=[ô]&VAR1&[ô], coluna2=[ô]&VAR2[ô], coluna3=[ô]&VAR3[ô][Ô]
DEL.ExecuteNonQuery()
End If
End Sub
Na linha: DEL.ExecuteNonQuery() --> aparece a mensagem [Ô]Nenhum valor foi fornecido para um ou mais parâmetros necessários.[Ô] na hora que tento executar.
Obrigado a todos pela ajuda.
Mário.
Faça assim:
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[Ô])
con.Open()
Dim sql As String = [Ô] select coluna1,coluna2,coluna3 FROM tabela1[Ô]
Dim CD As New OleDbCommand()
CD.Connection = con
CD.CommandText = sql
Dim DR As OleDbDataReader = CD.ExecuteReader
If DR.Read Then
Dim VAR1 As String = CStr(DR([Ô]coluna1[Ô]))
Dim VAR2 As String = CStr(DR([Ô]coluna2[Ô]))
Dim VAR3 As String = CStr(DR([Ô]coluna3[Ô]))
Dim deletar As String
deletar = [Ô]delete from tabela2 where N1 = [ô] & 0 & [ô];[Ô]
Dim DEL As New OleDbCommand(deletar, con)
DEL.ExecuteNonQuery()
[ô]Inverta a ordem como fiz abaixo que funciona
deletar = [Ô]DELETE FROM tabela2 WHERE coluna1=[ô]&VAR1&[ô], coluna2=[ô]&VAR2[ô], coluna3=[ô]&VAR3[ô][Ô]
DEL.CommandText = deletar
DEL.ExecuteNonQuery()
End If
End Sub
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[Ô])
con.Open()
Dim sql As String = [Ô] select coluna1,coluna2,coluna3 FROM tabela1[Ô]
Dim CD As New OleDbCommand()
CD.Connection = con
CD.CommandText = sql
Dim DR As OleDbDataReader = CD.ExecuteReader
If DR.Read Then
Dim VAR1 As String = CStr(DR([Ô]coluna1[Ô]))
Dim VAR2 As String = CStr(DR([Ô]coluna2[Ô]))
Dim VAR3 As String = CStr(DR([Ô]coluna3[Ô]))
Dim deletar As String
deletar = [Ô]delete from tabela2 where N1 = [ô] & 0 & [ô];[Ô]
Dim DEL As New OleDbCommand(deletar, con)
DEL.ExecuteNonQuery()
[ô]Inverta a ordem como fiz abaixo que funciona
deletar = [Ô]DELETE FROM tabela2 WHERE coluna1=[ô]&VAR1&[ô], coluna2=[ô]&VAR2[ô], coluna3=[ô]&VAR3[ô][Ô]
DEL.CommandText = deletar
DEL.ExecuteNonQuery()
End If
End Sub
JABA, funcionou perfeitamente, mais uma vez lhe agradeço.
Mário.
Mário.
Tópico encerrado , respostas não são mais permitidas