Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

set#1

Erro no codigo para apagar dados na BD

Mensagens Recomendadas

set#1    0
set#1

Alo tudo bem!

Tenho um probleminha. Tenho o codigo abaixo num botao "Apagar" que deve apagar um Paciente  com o NID X numa BD (Server 2005) so que tenho o seguinte erro: Expression expected (sublinhado no primeiro &).

Linha:

pacientesDS = pacientesDTA.DeletePaciente(& Trim(txtNID.Text.ToString) &)

DeletePaciente

DELETE FROM t_paciente
WHERE     (nid = @Param1)

O codigo completo:

'Com problemas ainda
Private Sub btApagar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btApagar.Click

'Me tinham sugerido este mas isto so apaga no form e nao na BD
        'Me.T_pacienteBindingSource.RemoveCurrent()
        'Me.Update()

        Dim pacientesDS As BD_TL2009DataSet.t_pacienteDataTable
        Dim pacientesDTA As New BD_TL2009DataSetTableAdapters.t_pacienteTableAdapter
        pacientesDTA = New BD_TL2009DataSetTableAdapters.t_pacienteTableAdapter
        'Dim paciente As BD_TL2009DataSet.t_pacienteRow

        If MsgBox("Tem a certeza que deseja apagar o registo: " & Trim(txtNID.Text) & " ?", MessageBoxButtons.YesNo, "Confime: Apagar Registo") = Windows.Forms.DialogResult.Yes Then
            pacientesDS = pacientesDTA.DeletePaciente(& Trim(txtNID.Text.ToString)&)
            MsgBox("Registo apagado com sucesso!", "Apagou Dados", MessageBoxButtons.OK)
        Else
            MsgBox("Registo nao apagado!", "Cancelou", MessageBoxButtons.OK)
        End If

    End Sub

Obrigado pela atencao

(((Peace&Love)))

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jpaulino    106
jpaulino

Experimenta assim:

pacientesDS = pacientesDTA.DeletePaciente(txtNID.Text.ToString.Trim())

O método pacientesDTA.DeletePaciente() devolve alguma coisa ? Caso contrário basta fazer:

pacientesDTA.DeletePaciente(txtNID.Text.ToString.Trim())

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
set#1    0
set#1

Jpaulino, experimentei este:

pacientesDTA.DeletePaciente(txtNID.Text.ToString.Trim())

Clico no botao apagar:

1o - Se esta a visualizar o paciente 001, pergunta na msgbox se quero apagar o paciente 002 (em vez de 001) e tanto Yes como No apaga o paciente anterior, o 001 e assim sucessivamente!

2o - Nao esta a apagar os dados na BD

:-[

Usando

pacientesDS = pacientesDTA.DeletePaciente(txtNID.Text.ToString.Trim())

Da este erro: Value of type 'Integer' cannot be converted to 'TL2009_SGP.BD_TL2009DataSet.t_pacienteDataTable'.

O DeletePaciente me retorna um inteiro quando experimento e coloco o NID de qualquer paciente.

:wallbash:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
set#1    0
set#1

Tenho um BD_TL2009DataSet onde ta la o t_paciente DataTable

Nele tenho o t_pacienteTableAdapter onde tenho varias funções e uma delas 'e o DeletePaciente

DELETE FROM t_paciente
WHERE     (nid = @Param1)

O pacientesDTA foi declarado:

Dim pacientesDTA As New BD_TL2009DataSetTableAdapters.t_pacienteTableAdapter
pacientesDTA = New BD_TL2009DataSetTableAdapters.t_pacienteTableAdapter

Espero ter feito perceber!!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
set#1    0
set#1

DELETE FROM t_paciente
WHERE     (nid = @Param1)

Deve apagar na tabela t_paciente o paciente com o NID - txtNID

No querybuilder ja executei e coloco um NID e ele apaga. Da pra perceber...??

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
set#1    0
set#1

Sorry jpaulino, eu 'e que falhei aqui:

'Me.T_pacienteBindingSource.RemoveCurrent()
'Me.Update()

Comentei no post mas no programa nao estava comentado.

Ja esta a funcionar

B)

Obrigado

(((Peace&Love)))

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jpaulino    106
jpaulino

Agora, ele apaga mas ainda me mostra o paciente, so depois de sair e voltar ao form 'e que actualiza.

Como faco para ele depois actualizar para os dados actuas logo apos apagar.

E como faco para ele mostrar num label o numero total dos pacientes na t_paciente.

Mas mostra onde ?

Esta questão já está resolvida, deves marcar como resolvida (Topic Solved) e criar uma nova questão :P

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


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade