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

Luis Marques

[Resolvido] Erro a apagar dados

Recommended Posts

Luis Marques

Pessoal dá-me o seguinte erro quando clico sobre o registo que quero apagar, já usei o mesmo código noutro programa e funcionou bem, mas agora neste programa dá erro.

ERRO: Conversion from string "delete from clientes where id_cl" to type 'Double' is not valid

Deixo aqui o código que tenho:

 Private Sub DataGridView1_CellDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick

        id_cliente = DataGridView1.Rows(e.RowIndex).Cells(0).Value

        Try
            MsgBox("1 registo eliminado", MsgBoxStyle.Information)
            Dim msg = MsgBox(" Deseja continuar?", MsgBoxStyle.YesNo)

            If msg = MsgBoxResult.No Then
                Me.Close()
                Form1.Show()

            End If



            Dim lm As String = "delete from clientes where id_cliente = " + id_cliente

            ' Inicia uma ligação à bse de dados
            Using connection As New OleDbConnection(pap.My.Settings.ligacaoBD)

                ' Define o comando e os parâmetros

                Dim command As New OleDbCommand(lm, connection)


                ' Abre a ligação e insere o registo
                connection.Open()
                Dim x As Integer = command.ExecuteNonQuery()
                If x <> 1 Then
                    Throw New ArgumentException("Não foi possível inserir o registo na base de dados!")
                End If

            End Using

        Catch ex As Exception
            MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try


LM

Share this post


Link to post
Share on other sites
softklin

A concatenação em VB é com & e não com +. O Vb nesse caso está a considerar que queres somar uma string (a query) com o id de cliente. :P

Assim deve funcionar:

Dim lm As String = "delete from clientes where id_cliente = " & id_cliente


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
nokPT

Se quiseres usar o + podes fazer da seguinte maneira:

Dim lm As String = "delete from clientes where id_cliente = " + id_cliente.ToString

O & também é usado para fazer operações de lógica...


Ricardo Timóteo

Share this post


Link to post
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

×

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.