Jump to content

Erro no codigo para apagar dados na BD


set#1
 Share

Recommended Posts

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)))

Link to comment
Share on other sites

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:

Link to comment
Share on other sites

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!!

Link to comment
Share on other sites

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 😛

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.