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

mcosta

duvidas no BidingNavigator do vb2008

25 mensagens neste tópico

olá a todos,

pessoal, eu tenho um form que tem um datagridview e um bindingnavigator.

O datagridview ja consulta bem na base de dados access.

O meu problema é no bidingNavigator:

tenho um botão add e um save para guardar na base de dados.

o código do botão save:

Me.Validate()

        Me.FuncionáriosBindingSource.EndEdit()

        Me.FuncionáriosTableAdapter.Update(Me.Bdgestao_de_recursos_humanosDataSet.Funcionários)

o meu problema é que ele mesmo com este codigo não me esta a gravar na base de dados.

Outro problema é que o primeiro campo do datagridview é que é um campo cód_cliente que no access é numeração automatica mas no bidingNavigator quando clico em add ele põe sempre o numero -1 e não o seguinte!!!

Obrigado a todos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Outro problema é que o primeiro campo do datagridview é que é um campo cód_cliente que no access é numeração automatica mas no bidingNavigator quando clico em add ele põe sempre o numero -1 e não o seguinte!!!

isso é mesmo assim

em relação ao save, não dá nenhum erro? tens chaves estrangeiras nessa tabela?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ola,

aí tem de ficar sempre a -1???

ok!!!

em relação ao save nao dá erro nenhum...o unico problema é k sá fica em memória mas não introduz na base de dados!!!

e não sei como fazer de outra forma para guardar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mete aí a connectionString para a base de dados sff

tenta

Me.tableAdapterManager.UpdateAll(Me.Bdgestao_de_recursos_humanosDataSet);

em vez do teu update, n deve ser por isso mas n custa testar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ola,

ja pus essa linha mas continua a não inserir!!!

seá porque na base de dados o cod-funcionario é numeração automatica e eu no datagridview passo-lhe o valor????

é que ja não sei que poderá ser...

obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

seá porque na base de dados o cod-funcionario é numeração automatica e eu no datagridview passo-lhe o valor????

isso não se pergunta.... testa-se :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

;)sim...

mas tb já testei e não funciona....

só coloca mesmo em memoria!!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Connectionstring???

Desculpa mas não percebi...

podes explicar melhor??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

como é que ligáste a base de dados ao programa?

para te ligares à base de dados precisas de uma connectionString, vais ás propriedades do projecto e nas Settings terás lá uma connectionString

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois tenho...

sim é atraves do connecstring que ligo!!!

mas não estou é a perceber o k fazer no add com o connectstring?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

no caso em que temos bases de dados embebidas, por exemplo sqlServerCE, ele em debug faz uma cópia dessa base de dados e usa-a, o que faz com que o ficheiro original nunca seja mexido, não sei se o mesmo poderá estar acontecer no teu caso, nunca usei BDs em access, só olhando para a connectionString

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois...

o que acho estranho é que vi vários bocados de código na net que ele poe em memoria e para escrever na base de dados temos de no botao save fazer o codigo que eu coloquei mas no meu nao funciona...

ja não sei o que fazer....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a connectstring nas propriedades é:

value: Microsoft.Jet.OleDb 4.0;Data source = caminho da base de dados

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

caminho completo? tipo c:\.... ou |DataDirectory|...  ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

essa tabela tem chave primária definida? ou seja, o cod_funcionario está definido como chave?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

passa assim:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source="|DataDirectory|\bdgestao de recursos humanos.mdb"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

então o problema é mesmo esse! (DataDirectory)

Mete um caminho completo, ele está a usar uma base dados que está na pasta bin\debug ou algo do género, vê lá se n tens uma pasta assim e dentro dessa pasta uma base de dados com valores

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

passa assim:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source="|DataDirectory|\bdgestao de recursos humanos.mdb"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

fui as propriedades do projecto e passei o caminho todo;

mas agora da um erro no dataviewgrid

Me.FuncionáriosTableAdapter.Fill(Me.Bdgestao_de_recursos_humanosDataSet.Funcionários)

erro: nao é um nome de ficheiro valido

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ola a todos,

o problema do datagridview já esta resolvido.

Obrigado!!!

Já agora alguém sabe se é possível no datagridview é possível devolver por um critério???

por exemplo: se tiver um campo: departamento devolver só os de departamento de informática???

abraços!!!

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