Verificar Usuario Existe

Hola tengo un problema quiero verificar si un usuario existe al momento de guardarlo y que muestre un mensaje de usuario existe..los usuarios los muestro por una Listbox,,estoy usando vb6.0 y sql server 2000 gracias
1

1 respuesta

Respuesta
1
Antes del AddNew, debes de realizar un find de acuerdo a como estas programando:
Algo como
rst.movefirst
Do while not rst.eof
if rst("Usuario") = Text1.Text then
' existe el usuario
end if
rst.movenext
loop
Lo hice como me dijiste pero me sale un error con el rst.update dice que no puede ingresar clave duplicada no me hace la busqueda.......
Todo depende de la estructura de tu tabla, si el usuario le asignas una clave de identificación con un simple índice de llave primaria puedes obtener el resultado de clave existente al intentar duplicar los datos, se puede realizar la asignación de clave en forma consecutiva de acuerdo al último elemento como otra opción y la última de acuerdo a lo que veo que tienes es realizando una consulta a la base de datos antes de insertar el nuevo registro.
squery = "select * from mitabla where miusuario = " & text1.text
ahh ok te voy a colocar el codigo del boton guardar para q tengas mas claro lo que tengo solo me falta es el codigo que verique q el usuario existe.
Private Sub Command1_Click()
rst.Open "SELECT * FROM Data_Usuarios", cnn, adOpenDynamic, adLockOptimistic
If Text1.Text = vbNullString Or _
Text2.Text = vbNullString Or _
Text3.Text = vbNullString Or _
Text4.Text = vbNullString Or _
Text5.Text = vbNullString Or _
Text6.Text = vbNullString Or _
Text7.Text = vbNullString Or _
Text8.Text = vbNullString Then
errormsg = MsgBox("Debe Llenar Todos Los Campos", vbCritical, "Error")
Exit Sub
End If
rst.AddNew
rst("Usuario") = Text1.Text
rst("Contraseña") = Crypt(Text2.Text)
rst("Nombre") = Text3.Text
rst("Apellido") = Text4.Text
rst("Contra_Seguridad") = Crypt(Text5.Text)
rst("Num_Carnet") = Text6.Text
rst("Unidad") = Text7.Text
rst("Nom_Equipo") = Text8.Text
rst.Update
Text1.Text = vbNullString
Text1.Enabled = True
Text2.Text = vbNullString
Text2.Enabled = True
Text3.Text = vbNullString
Text3.Enabled = True
Text4.Text = vbNullString
Text4.Enabled = True
Text5.Text = vbNullString
Text5.Enabled = True
Text6.Text = vbNullString
Text6.Enabled = True
Text7.Text = vbNullString
Text7.Enabled = True
Text8.Text = vbNullString
Text8.Enabled = True
infomsg = MsgBox("Usuario Creado", vbExclamation, "Usuario Creado")
rst.Close
Form2.List1.Clear
rst.Open "SELECT * FROM Data_Usuarios ORDER BY Usuario", cnn, adOpenDynamic, adLockOptimistic
Do Until rst.EOF = True
Form2.List1.AddItem rst.Fields(0)
rst.MoveNext
Loop
rst.Close
End Sub
Gracias....Saludos
Rst.Open "SELECT * FROM Data_Usuarios", cnn, adOpenDynamic, adLockOptimistic
If Text1.Text = vbNullString Or _
Text2.Text = vbNullString Or _
Text3.Text = vbNullString Or _
Text4.Text = vbNullString Or _
Text5.Text = vbNullString Or _
Text6.Text = vbNullString Or _
Text7.Text = vbNullString Or _
Text8.Text = vbNullString Then
errormsg = MsgBox("Debe Llenar Todos Los Campos", vbCritical, "Error")
Exit Sub
End If
rst.movefirst
Do while not rst.eof
if rst("Usuario") = Text1.Text then
exit sub
end if
rst.movenext
loop
rst.AddNew
rst("Usuario") = Text1.Text
rst("Contraseña") = Crypt(Text2.Text)
rst("Nombre") = Text3.Text
rst("Apellido") = Text4.Text
rst("Contra_Seguridad") = Crypt(Text5.Text)
rst("Num_Carnet") = Text6.Text
rst("Unidad") = Text7.Text
rst("Nom_Equipo") = Text8.Text
rst.Update
Text1.Text = vbNullString
Text1.Enabled = True
Text2.Text = vbNullString
Text2.Enabled = True
Text3.Text = vbNullString
Text3.Enabled = True
Text4.Text = vbNullString
Text4.Enabled = True
Text5.Text = vbNullString
Text5.Enabled = True
Text6.Text = vbNullString
Text6.Enabled = True
Text7.Text = vbNullString
Text7.Enabled = True
Text8.Text = vbNullString
Text8.Enabled = True
infomsg = MsgBox("Usuario Creado", vbExclamation, "Usuario Creado")
Rst. Close
Form2. List1. Clear
Rst. Open "SELECT * FROM Data_Usuarios ORDER BY Usuario", cnn, adOpenDynamic, adLockOptimistic
Do Until rst.EOF = True
Form2. List1. AddItem rst. Fields(0)
Rst. MoveNext
Loop
rst.Close
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas