Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Prof.Pablo

Problema ao gravar dados

Recommended Posts

Prezado, estive estudando um tutorial em : http://www.macoratti.net/vbn_dts4.htm

 

Fiz igualzinho está no site mas a rotina não grava as alterações quando excluo um registro. Não sei onde está o problema, pois ele não acusa erro. Estou usando o visual studio 2008. Veja a rotina para excluir o registro:

 

 

 

Dim codmodelo As String

codmodelo = InputBox("Informe o codigo do  modelo a excluir ", "Código do modelo")

If codmodelo <> "" Then

Dim registro As DSModelos.ModelosRow = DsModelos1.Modelos.FindByCodModelo(Convert.ToInt32(codmodelo))

' verifica se encontrou algum registro

If registro Is Nothing Then

MsgBox("Não localizei modelo com este código")

Else

DsModelos1.Modelos.Rows.Remove(registro)

End If

Else

MsgBox("Codigo do modelo inválido ! ", MsgBoxStyle.Exclamation, "Remover Modelo")

End If

 

DEPOIS FIZ A ROTINA PARA GRAVAR AS ALTERAÇÕES:

' Verifica ocorreu alguma alteração nos dados

If DsModelos1.HasChanges() Then

' Obtém as alterações efetuadas

Dim Alterados As DataSet = DsModelos1.GetChanges()

' verifica se realmente houve alterações

If Not Alterados Is Nothing Then

' manda as alterações para o banco

OleDbDataAdapter1.Update(Alterados)

DsModelos1.AcceptChanges()

End If

End If

Eu apenas adaptei o código ã minha necessidade mas ele não funciona. Por favor, se alguém puder me ajudar eu agradeço

 

 

 

Prof. Pablo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado, estive estudando um tutorial em : http://www.macoratti.net/vbn_dts4.htm

 

Fiz igualzinho está no site mas a rotina não grava as alterações quando excluo um registro. Não sei onde está o problema, pois ele não acusa erro. Estou usando o visual studio 2008. Veja a rotina para excluir o registro:

 

 

 

Dim codmodelo As String

 

codmodelo = InputBox("Informe o codigo do modelo a excluir ", "Código do modelo")

 

If codmodelo <> "" Then

 

Dim registro As DSModelos.ModelosRow = DsModelos1.Modelos.FindByCodModelo(Convert.ToInt32(codmodelo))

 

' verifica se encontrou algum registro

 

If registro Is Nothing Then

 

MsgBox("Não localizei modelo com este código")

 

Else

 

DsModelos1.Modelos.Rows.Remove(registro)

 

End If

 

Else

 

MsgBox("Codigo do modelo inválido ! ", MsgBoxStyle.Exclamation, "Remover Modelo")

 

End If

 

 

 

DEPOIS FIZ A ROTINA PARA GRAVAR AS ALTERAÇÕES:

 

' Verifica ocorreu alguma alteração nos dados

 

If DsModelos1.HasChanges() Then

 

' Obtém as alterações efetuadas

 

Dim Alterados As DataSet = DsModelos1.GetChanges()

 

' verifica se realmente houve alterações

 

If Not Alterados Is Nothing Then

 

' manda as alterações para o banco

 

OleDbDataAdapter1.Update(Alterados)

 

DsModelos1.AcceptChanges()

 

End If

 

End If

 

Eu apenas adaptei o código ã minha necessidade mas ele não funciona. Por favor, se alguém puder me ajudar eu agradeço

 

 

 

Prof. Pablo.

 

 

Acho que o DsModelos1.AcceptChanges() deve vir antes de você remover a linha do dataset.

Isso diz ao dataset que ele está aceitando modificações, se você não chamar ele o método getChanges() deve não retornar nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.