Siempre update ?

03/09/2005 - 00:26 por Super | Informe spam
Hola grupo aqui tengo otra duda que espero puedan ayudarme.

Siempre que mando actualizar la base de datos con lo cargado en el form (txt
en su mayoría, no hay grid), siempre detecta un update y no me hace el
insert que puede estar mal?

Private Sub Actualiza()

Try

Me.BindingContext(dsCobros, "Cobro").EndCurrentEdit()

If (Me.daCobros Is Nothing) Then

CargaCobro()

End If

Dim oCommandBuilder As New SqlCommandBuilder(daCobros)

daCobros.InsertCommand = oCommandBuilder.GetInsertCommand

daCobros.UpdateCommand = oCommandBuilder.GetUpdateCommand

daCobros.DeleteCommand = oCommandBuilder.GetDeleteCommand

daCobros.Update(dsCobros, "Cobro")

Catch

End Try

End Sub

Preguntas similare

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
03/09/2005 - 05:13 | Informe spam
Siempre que mando actualizar la base de datos con lo cargado en el
form (txt en su mayoría, no hay grid), siempre detecta un update y no
me hace el insert que puede estar mal?



En lugar de ignorar las excepciones deja que al menos se registre en algun
lado (log de eventos de windows) o muestra un mensaje asi podras saber cual
es el error.

Try
'

Catch ex As Exception

MessageBox.Show(ex.message)

End Try

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#2 Super
03/09/2005 - 06:31 | Informe spam
el problema es que no tengo errores por que no me los da, si cargo el
dataset con la tabla vacia el entra en el (DataRowState.Added), pero si
tiene datos solo entra en el (DataRowState.Modified), yo ademas cargo unos
combos con datos de otras tablas para alimentar esta que intento llenar,
ahora lo tengo de esta forma

Private Sub Actualiza()
Try
Me.BindingContext(dsCobros, "Cobro").EndCurrentEdit()
If (Me.daCobros Is Nothing) Then
CargaCobro()
End If

If Not dsCobros.GetChanges(DataRowState.Deleted) Is Nothing Then

Me.daCobros.Update(dsCobros.GetChanges(DataRowState.Deleted), "Cobro")

End If

If Not dsCobros.GetChanges(DataRowState.Added) Is Nothing Then
Me.daCobros.Update(dsCobros.GetChanges(DataRowState.Added),
"Cobro")

End If

If Not dsCobros.GetChanges(DataRowState.Modified) Is Nothing
Then

Me.daCobros.Update(dsCobros.GetChanges(DataRowState.Modified), "Cobro")

End If
dsCobros.AcceptChanges()

Catch exc As Exception
MsgBox(exc.Message, MsgBoxStyle.Critical, Me.Text)
End Try
End Sub

pero cuando doy un
.EndCurrentEdit

.addnew

los combos provenientes de otras tablas no quedan limpios, sino con el
ultimo valor que encontraron en el dataset

que puede estar mal ? si tiene usted algun ejemplo de esto o algo que
pudiese darme una idea se lo agradeceré, pues no quisiera hacerlo con un SP
en SQL como lo venia haciendo hasta ahora.



Gracias

"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> escribió en el
mensaje news:
> Siempre que mando actualizar la base de datos con lo cargado en el
> form (txt en su mayoría, no hay grid), siempre detecta un update y no
> me hace el insert que puede estar mal?

En lugar de ignorar las excepciones deja que al menos se registre en algun
lado (log de eventos de windows) o muestra un mensaje asi podras saber


cual
es el error.

Try
'

Catch ex As Exception

MessageBox.Show(ex.message)

End Try

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo



http://mvp.support.microsoft.com/pr...04EF5A4191
C


Respuesta Responder a este mensaje
#3 Eduardo A. Morcillo [MS MVP VB]
03/09/2005 - 07:41 | Informe spam
pero cuando doy un
.EndCurrentEdit

.addnew

los combos provenientes de otras tablas no quedan limpios, sino con el
ultimo valor que encontraron en el dataset



Pero se agrega el nuevo registro? Porque si dices que con DataRowState.Added
no te devuelve nada lo mas probable es que debido al error no se este
agregando el registro al datatable.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida