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

NBatista

dúvida ao actualizar base de dados

Mensagens Recomendadas

NBatista

Boas!!!!

surgiu aqui um perqueno problema que é... quando eu acabo de gravar.. ele guarda bem... clico no botão escolher o ficheiro, faço a alteração e quando clico no botão actualizar ele diz que a connection string ja esta aberta....

esta aqui o código:

CN.ConnectionString = "Provider=MIcrosoft.Jet.OLEDB.4.0; Data source=C:\BandaGest PAP (PAP)\PAP.mdb"

CN.Open()

Dim str As String

str = "update [instumentos] set [Nome_instrumento]='" & nomeinstrumentotextbox.Text & "', [Referência]='" & referenciatextbox.Text & "', [Marca]='" & marcatextbox.Text & "', [Tonalidade]='" & tonalidadetextbox.Text & ""

Dim cmd As OleDbCommand = New OleDbCommand(str, CN)

Try

cmd.ExecuteNonQuery()

MsgBox("Registo alterado com sucesso!")

Catch ex As Exception

MsgBox("Erro na alteração do registo")

End Try

CN.Close()

Editado por NBatista

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

E não tens em lado nenhum do código a abrir a ligação e a não fechar?

Tenta verificar o estado da ligação antes de abrires (CN.State).

E o ficheiro não está aberto em exclusivo pelo Access?

Editado por nelsonr

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

Mas o erro dá no CN.Open() ?

Qual o CN.State que dá antes dessa linha?

Podes colocar aqui a mensagem de erro exacta?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NBatista

está aqui o erro :"Não é permitido alterar a propriedade 'ConnectionString'. O estado actual da ligação é aberto".

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

Então é porque tens a ligação aberta antes.

Consulta lá o CN.State antes da linha "CN.ConnectionString =..."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

NBatista, se queres ajuda convêm seres mais específico nas mensagens.

Poe la um breakpoint em cima da linha "CN.ConnectionString =..."

Quando parar, clicas com o botão direito do rato em cima do CN e fazes Quick Watch.

Na janela que abrir, procura a propriedade State e vê o que está lá

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

Pois, ai esta...

diz isto assim ---- CN.State Open {1} System.Data.ConnectionState -----

Agora tens é de ver em toda a aplicação onde o CN.Open é aberto, se está a fechar

Partilhar esta mensagem


Ligação 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 os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.