Visual Basic.NET - Problema .FIND del Dataset

 
Vista:

Problema .FIND del Dataset

Publicado por Francisco Javier (18 intervenciones) el 18/04/2008 14:08:22
Hola tengo un problemilla y no se ke es lo que pasa. Es cuando intento hacer una busqueda en un dataset. Para ello uso la función FIND:

ds --> mi dataset

Dim dr As DataRow
dr = ds.Tables("DICCIONARIO").Rows.Find(cID)

Me pide que le especifique la clave primaria, que es un campo autonumerico (IDPalabra).
El caso es que si le especifico la clave primaria a la tabla:

ds.Tables("DICCIONARIO").PrimaryKey = aKey

cuando guardo un registro nuevo, me dice que no se puede guardar el campo IDPalabra con un valor Null. Sin embargo, si no especifico la clave primaria, si me guarda el registro nuevo, pero me da error la busqueda, pq dice que no hay clave primaria.

En resumen, que si especifico la clave primaria, me da error al añadir un registro nuevo, y si no la especifico me da error con el método .find.

¿Sabeis como puedo solucionarlo?. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema .FIND del Dataset

Publicado por jeregr (26 intervenciones) el 18/04/2008 18:20:35
Declara DataView , ...
ej.

Dim DTView As DataView = New DataView(dsdetalle.Tables(0), "", _
"codigo, Tipo", _
DataViewRowState.CurrentRows)

Dim FoundRows() As DataRowView = DTView.FindRows(New Object() {Codigotxt, Tipodecodigotxt})
'*******************************************************************
' No existe dentro del Dataset = dsdetalle
'*******************************************************************
If FoundRows.Length = 0 Then
No existe
else
existe
END IF

claro hay otra manera pero te mando esta...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema .FIND del Dataset

Publicado por Francisco Javier (18 intervenciones) el 19/04/2008 08:02:01
Gracias, aunque lo veo un poco enrevesado. He optado por quitar la clave primaria cuando voy a añadir un registro nuevo.

¿Hay alguna otra forma?

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar