Visual Basic - Erro al comparar TXT con columna

Life is soft - evento anual de software empresarial
   
Vista:

Erro al comparar TXT con columna

Publicado por Fran Ortiz (9 intervenciones) el 20/04/2014 15:40:22
Buenas verán, estoy haciendo un programa que lleva una primary key "Socios" para que no se pueda repetir, la única manera que se me ha ocurrido de comprobar antes de guardar si ya existe o no, y así evitar el error es leer toda la columna socio y comparar los valores con el Nº que le tengo puesto en el Textbox.

El problema es que si el socio es el Nº 9 y en la base de datos hay del 1 al 8, me dice que el 9 esta y la comprobación la hago antes de guardar.

esto es lo que hago:

For Each fila In midatatable.Rows
Dim Id As String = fila("Socio").ToString

If Id = txtnumsocio.Text Then
MessageBox.Show("El socio ya existe")
Exit Sub

End If
Next

todas las comparaciones van bien pero si son 8 socios el ID no se por que me dice luego que tiene el numero 9 y al coincidir con el textbox me dice que ya existe.

Agradecería cualquier ayuda, pro que me trae de cabeza
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

Erro al comparar TXT con columna

Publicado por Pico (114 intervenciones) el 20/04/2014 19:05:20
No evites el error, captúralo con on error goto.
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

Erro al comparar TXT con columna

Publicado por Juan Gilberto (278 intervenciones) el 21/04/2014 20:07:31
Falta que pongas que base de datos usas y el codigo donde cargas los datos y donde defines los objetos de datos...

Como sea...
La mejor manera de comprobar si existe un socio o no es ejecutando un sql query sobre los datos, un simple SELECT...FROM...WHERE...

Estudia un poco de ADO.Net
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

Erro al comparar TXT con columna

Publicado por Fran Ortiz (9 intervenciones) el 21/04/2014 20:37:03
Probare lo que me decís, yo conecto mediante Acces pues al ser un programa sencillo no me e puesto a meterme en SQL.

la conexion la hago mediante una librería que tengo echa así que los valores por así decirlos importantes serian:

1
2
3
4
Dim cadenaconexion As String = "Provider=Microsoft.jet.OLEDB.4.0; " & _
    "Data Source=" & Application.StartupPath & "\Acesur.mdb"
 
Dim cadenaselect As String = "Select * From Fichas"

dentro de Fichas esta la columna Socio que es una Primary key . y hay es donde uso el for

1
2
3
4
5
6
7
8
9
For Each fila In midatatable.Rows
Dim Id As String = fila("Socio").ToString
 
If Id = txtnumsocio.Text Then
MessageBox.Show("El socio ya existe")
Exit Sub
 
End If
Next

No obstante probare lo que me habeis comentado, muchas gracias ya os comento.
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