Ayuda sobre vb2005 sobre SQL server

22/03/2007 - 21:21 por Elmasciruja | Informe spam
Yo estaba usando access en una aplicacion y tengo que pasarla a SQL
SERVER2000.
El codigo que venia usando andaba perfecto, cuando cambio los Dataset
(desde origenes de datos) , los agrego uno por uno apuntando a la base
de datos en sql y a la tabla correspondiente.

Usando el mismo codigo que para access cuando quiero agregar registros
anda perfecto, pero cuando quiero modificar registros existentes o
borrar algun registro me aparece " Update requiere que DeleteCommand
sea válido cuando se pasa la colección DataRow con filas eliminadas "

El codigo que uso para borrar es este:

Dim registroborrar As
CargasAutorizadasDataset.Cargas_AutorizadasRow()
registroborrar = Me.CargasAutorizadasDataTable.Select("OCARG " + CStr(id))



Select Case registroborrar.GetUpperBound(0)
Case -1
MsgBox("No hay registros con ese identificador",
CType(MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, MsgBoxStyle),
"Error")
Timer1.Start()
Exit Sub
Case Is > 0
MsgBox("Hay demasiados registros con ese ID",
CType(MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, MsgBoxStyle),
"Error")
Timer1.Start()
Exit Sub
Case 0
If registroborrar(0).ESTADO = "Cargando" Then
Dim respuesta As
Microsoft.VisualBasic.MsgBoxResult
respuesta = MsgBox("Usted está intentando borrar
una orden de carga que se encuentra actualmente cargando. Esto puede
generar errores graves en el programa." + vbCrLf + "Está seguro que
desea hacerlo?", vbYesNo, "Borrado de registros")
If respuesta = MsgBoxResult.No Then
Timer1.Start()
Exit Sub
End If
End If

Loguear("Registro a Borrar Manualmente")
Loguear("OCA OCO REC CANT FECHA
ESTADO")
Loguear(CStr(registroborrar(0).OCARG) + " " +
CStr(registroborrar(0).OCOMP) + " " +
CStr(registroborrar(0).PRODUCTO) + " " +
CStr(registroborrar(0).CANTAUT) + " " +
CStr(registroborrar(0).FECHAAUT) + " " +
CStr(registroborrar(0).ESTADO))
registroborrar(0).Delete()

Cargas_AutorizadasTableAdapter.Update(registroborrar(0))
Loguear("Registro Borrado con exito")
End Select



Estoy bastante complicado, es algo que no lo puedo solucionar desde
hace varios dias, les agradecere con todo el corazon si me dan una mano
 

Leer las respuestas

#1 Carlos Gómez
22/03/2007 - 22:15 | Informe spam
El problema que tienes es que el dataAdapter no posee información de
como borrar registros. Para ello, fijate en las siguientes propiedades
del dataAdapter:
dataAdapter.SelectCommand
dataAdapter.UpdateCommand
dataAdapter.InsertCommand
dataAdapter.DeleteCommand

la propiedad SelectCommand ya la tienes configurada, pues es la que te
carga el dataTable, las otras -o al menos DeleteCommand- no.

Preguntas similares