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

vasco16

Não grava dados..

5 mensagens neste tópico

Boas pessoal, tenho este código:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Dim dbConn As OleDb.OleDbConnection = New OleDb.OleDbConnection()
        dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\VASCO\Desktop\Final Domingo\Bless - Gestão de Stands e Oficinas\bin\Debug\Bless - Gestão de Stands & Oficinas.mdb;"

        Dim strQuery As String = "UPDATE compras SET [matricula]=@matricula, [marca]=@marca, [modelo]=@modelo"
        Dim dbCmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(strQuery, dbConn)

        dbCmd.Parameters.AddWithValue("@matricula", MatriculaTextBox.Text)
        dbCmd.Parameters.AddWithValue("@marca", MarcaTextBox.Text)
        dbCmd.Parameters.AddWithValue("@modelo", ModeloTextBox.Text)


        dbConn.Open()
        dbCmd.ExecuteNonQuery()
        dbCmd = Nothing

        Try
            MessageBox.Show("Inseriu", "Inseriu", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)


        Catch ex As Exception
            MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
        End Try

    End Sub

só que o problema é que o programa diz-me que inseriu os dados mas se fechar e abrir outra vez ele nao têm lá os dados.. e quando vou ver á base de dados tambem nao está lá..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas.

O update só funciona se a tabela Compras já tiver dados e falta o Where...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas.

O update só funciona se a tabela Compras já tiver dados e falta o Where...

SIm as tabelas já têm dados e já adicionei o condição "WHERE"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

SIm as tabelas já têm dados e já adicionei o condição "WHERE"

E já funciona ? O WHERE não é obrigatório, só que dessa forma actualiza todas.

Quando queres ver se gravou, actualizou ou apagou, através do ExecuteNonQuery() vês o número de registos afectados que o método devolve.

Assim:

Dim result As Integer = dbCmd.ExecuteNonQuery

Se a variável result for 1 é porque actualizou 1 registo (que é o que tu queres).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E já funciona ? O WHERE não é obrigatório, só que dessa forma actualiza todas.

Quando queres ver se gravou, actualizou ou apagou, através do ExecuteNonQuery() vês o número de registos afectados que o método devolve.

Assim:

Dim result As Integer = dbCmd.ExecuteNonQuery

Se a variável result for 1 é porque actualizou 1 registo (que é o que tu queres).

modifiquei um pouco o codigo, introduzi um WHERE na condição [id]=@id e nao me estava a guardar porque o where é a ultima condição a ser avaliada e nos parametros tinha-a como primeira..

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