Visual Basic.NET - Evitar duplicados en DB

   
Vista:

Evitar duplicados en DB

Publicado por Alex (2 intervenciones) el 28/10/2009 13:03:45
Hola a todos. Necesito sus ayudas.
Tengo una base de datos (en Access) que la muestro en un datagrid de VB.NET, para agregar un registro abro otro form, el cual tiene unos textbox y la clave unica es un maskedtextbox. Ahora necesitaria saber como puedo hacer para que al salir del maskedtex me salte un msgbox diciendome que ese registro ya esta en la base de datos. Muchas Gracias. Espero sus respuestas.
Les adjunto mi codigo:

PrivateSub MaskedTextBox1_LostFocus1(ByVal sender AsObject, ByVal e As System.EventArgs) Handles MaskedTextBox1.LostFocus

Dim i
Dim dsdatos AsNew Base_de_datos3DataSet1
Dim drregistros1 As Base_de_datos3DataSet1.tabla1Row
Dim textkey = MaskedTextBox1.Text
For i = 0 To dsdatos.tabla1.Rows.Count - 1
If dsdatos.tabla1.Rows(i).Item("CUIT") = textkey Then
MsgBox("error")
EndIf

Next i
End Sub
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:Evitar duplicados en DB

Publicado por Orcano (42 intervenciones) el 28/10/2009 18:21:02
Considero que lo más óptimo sería realizar un read a la bd para ubicar el dato ingresado si te regresa datos es que ya existe el dato. Esto es para antes de grabar. Además con esto evitas que tu cliente esté leyendo toda la base de datos con el for, te puedo resultar para una bd pequeña pero no es recomendable para db's de mayor tamaño. En estos casos es recomendable utilizar las herramientas y las ventajas de las bd's.
La otra y menos recomendable es realizar la inserción y que el mismo motor de la bd te marque el duplicado con la llave de la tabla
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