Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Ayuda en consulta sql y visual basic 6.0 comparando campos txt

Estas en el tema de Ayuda en consulta sql y visual basic 6.0 comparando campos txt en el foro de SQL Server en Foros del Web. Hola, tengo una bd en sql con una tabla de "Usuarios" y con un campo Nom Necesito comparar el campo Nom con un campo txt ...
  #1 (permalink)  
Antiguo 22/10/2009, 07:21
 
Fecha de Ingreso: mayo-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Ayuda en consulta sql y visual basic 6.0 comparando campos txt

Hola, tengo una bd en sql con una tabla de "Usuarios" y con un campo Nom
Necesito comparar el campo Nom con un campo txt del formulario de vb y tengo la sgte instruccion: If ("SELECT FROM Usuarios WHERE Nom ='" & (Text1.Text) & "' ") Then

Eso me da error 13: no coinciden los tipos
En la bd el campo Nom esta definido como varchar. Pero ya probe text, ntext y no me sirve.

Cómo se hace para comparar con una condicion???!!!!

GRACIAS!
  #2 (permalink)  
Antiguo 22/10/2009, 08:12
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Ayuda en consulta sql y visual basic 6.0 comparando campos txt

Primero tienes que obtener el dato de la BD
Código:
Set rs = New ADODB.Recordset
sql = "SELECT Id FROM Usuarios WHERE Nom ='" & (Text1.Text) & "' "
rs.Open sql, conn, adOpenForwardOnly, adLockReadOnly
If rs.EOF Then
'No existe
End If
Tu problema en si es de programacion no de BD.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 22/10/2009, 08:40
 
Fecha de Ingreso: mayo-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Respuesta: Ayuda en consulta sql y visual basic 6.0 comparando campos txt

ok tengo esto pero no me compara los datos:

sSelect = "SELECT * FROM Usuarios WHERE Nom ='" & (Text1.Text) & "' "
cn.Open "Provider=SQLOLEDB; " & _
"Initial Catalog=STO; " & _
"Data Source=(local); " & _
"integrated security=SSPI; persist security info=True;"
' El recordset para acceder a los datos
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
' Abrir el recordset de forma estática, no vamos a cambiar datos
rs.Open sSelect, cn, adOpenStatic

If (rs.BOF = False) Then
rs.MoveFirst
Do
If (sSelect = Text1.Text) Then
nombre = Text1.Text
Form1.Show
End if
rs.movenext
loop until(enco = 1)or (rs.eof)
  #4 (permalink)  
Antiguo 22/10/2009, 09:02
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Ayuda en consulta sql y visual basic 6.0 comparando campos txt

Código:
...
If rs("Nom") = Text1.Text Then
...
Aunque no entiendo el sentido de tu codigo.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 22/10/2009, 09:09
 
Fecha de Ingreso: mayo-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Respuesta: Ayuda en consulta sql y visual basic 6.0 comparando campos txt

Esque estoy haciendo un inicio de sesion en donde hay que comparar un campo texto con el campo nombre de usuario de la base de datos, si son iguales lo va a dejar entrar al sistema. La idea es q en un ciclo compare ese nombre con el campo de la base de datos y si no lo encuentra entonces q despliegue un mensaje de usuario no encontrado. Pero me sigue dando error, ahora me dice error 3021 de un registro eliminado o algo asi...
  #6 (permalink)  
Antiguo 22/10/2009, 09:26
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Ayuda en consulta sql y visual basic 6.0 comparando campos txt

Código:
If rs.EOF Then
msgbox "No existe usuario"
Else
'validar contraseña
End If
Te recomiendo continuar con tus consultas en el foro de programacion.
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:10.