• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Tiago fernando

Modificar botao

2 mensagens neste tópico

Ola pessoal,

venho mais uma vez pedir ajuda eu sou novo com vb-net estou a aprender.

Eu criei um botao para modificar os dados e salvar eles, mas para alem disto ele esta a duplicar os dados que foram alterados

este é o codigo.

Private Sub btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click
        Try
            If mno = 1 Then
                If tb1.TextLength > 0 Then
                    If con.State = ConnectionState.Open Then con.Close()
                    Call tempValue()
                    Dim fs As New FileStream(Application.StartupPath + "\temp.dat", FileMode.Open)
                    Dim arbyte(fs.Length) As Byte
                    fs.Read(arbyte, 0, arbyte.Length)
                    fs.Close()
                    Dim st As String = "INSERT INTO Filmes(N_dvd,descricao,genero,Tipo,emprestado,Titulo,[imagem])VALUES('" & tb1.Text & "','" & tb2.Text & "','" & tb3.Text & "','" & tb4.Text & "','" & tb5.Text & "','" & tb6.Text & "', ?)"
                    Dim cmd As New OleDbCommand(st, con)
                    Dim mypar As New OleDbParameter("@picture", OleDbType.LongVarBinary)
                    mypar.Value = arbyte
                    mypar.Size = arbyte.Length
                    cmd.Parameters.Add(mypar)
                    con.Open()
                    cmd.ExecuteNonQuery()
                    MsgBox("Dados Salvos")
                    File.Delete(Application.StartupPath + "\temp.dat")
                    idno = 0
                    ListBox1.Items.Clear()
                    Call carregaDados()
                    con.Close()
                    Call limpaFormulario()
                    Call limpaCampos()
                Else
                    MsgBox("NºDvd invalido")
                End If
            Else
                If con.State = ConnectionState.Open Then con.Close()
                If tb1.TextLength > 0 Then
                    Call tempValue()
                    Dim fst As New FileStream(Application.StartupPath + "\temp.dat", FileMode.Open)
                    Dim arrbyte(fst.Length) As Byte
                    fst.Read(arrbyte, 0, arrbyte.Length)
                    fst.Close()
                    Dim s1 As String = "UPDATE Filmes SET N_dvd='" & tb1.Text & "',descricao='" & tb2.Text & "',genero='" & tb3.Text & "',tipo='" & tb4.Text & "',emprestado='" & tb5.Text & "',titulo='" & tb6.Text & "',[imagem]=? WHERE  nome='" & tb8.Text & "'"
                    Dim cmnd As New OleDbCommand(s1, con)
                    Dim par As New OleDbParameter("@Imagem", OleDbType.LongVarBinary)
                    par.Value = arrbyte
                    par.Size = arrbyte.Length
                    cmnd.Parameters.Add(par)
                    con.Open()
                    cmnd.ExecuteNonQuery()
                    MsgBox("Registro atualizado com sucesso")
                    idno = 0
                    ListBox1.Items.Clear()
                    Call carregaDados()
                    con.Close()
                    Call limpaFormulario()
                    Call limpaCampos()
                    mrec.Enabled = False
                    mbtn.Enabled = False
                    nrec.Enabled = True
                    nbtn1.Enabled = True
                    ts1.Text = "Titulo :"
                Else
                    MsgBox("Nº DVD Inválido")
                End If
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O teu else faz o mesmo que o teu if. Quase k aposto k é esse o teu problema. Se pensar bem, n faz sentido ele duplicar a entrada por causa disso. Mas ha uma palavra que me faz pensar k é esse o prob (microsoft).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora