Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

tengo un problema con este codigo.

Estas en el tema de tengo un problema con este codigo. en el foro de Visual Basic clásico en Foros del Web. hola a todos.. este codigo es un login,pero no funciona, me entrega un error en la linea en la que paso el sql al objeto ...
  #1 (permalink)  
Antiguo 16/11/2008, 22:15
 
Fecha de Ingreso: agosto-2008
Ubicación: Frente al pc
Mensajes: 71
Antigüedad: 15 años, 8 meses
Puntos: 2
tengo un problema con este codigo.

hola a todos.. este codigo es un login,pero no funciona, me entrega un error en la linea en la que paso el sql al objeto comand..muchas gracias por la ayuda...

Private Sub cmdOK_Click()
Set rst = New ADODB.Recordset
Set comando = New ADODB.Command
''Set conexion = New ADODB.Connection

conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\info.mdb"

SQL = "SELECT Nombre, pass FROM usuarios WHERE Nombre = '" & txtUserName.Text & "' AND pass = '" & txtPassword.Text & "'"
comando.CommandText = SQL

rst.Open comando.CommandText, conexion


If (rst.RecordCount > 0) Then

frmMenuPrincipal.Show

rst.MoveNext


Else
MsgBox "contraseña invalida, intente otra vez!", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If


End Sub
  #2 (permalink)  
Antiguo 17/11/2008, 01:58
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: tengo un problema con este codigo.

Cita:
Iniciado por papurri Ver Mensaje
hola a todos.. este codigo es un login,pero no funciona, me entrega un error en la linea en la que paso el sql al objeto comand..muchas gracias por la ayuda...

Private Sub cmdOK_Click()
Set rst = New ADODB.Recordset
Set comando = New ADODB.Command
''Set conexion = New ADODB.Connection

conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\info.mdb"

SQL = "SELECT Nombre, pass FROM usuarios WHERE Nombre = '" & txtUserName.Text & "' AND pass = '" & txtPassword.Text & "'"
comando.CommandText = SQL

rst.Open comando.CommandText, conexion


If (rst.RecordCount > 0) Then

frmMenuPrincipal.Show

rst.MoveNext


Else
MsgBox "contraseña invalida, intente otra vez!", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If


End Sub

Hola, ¿para qué un objeto Command?

Private Sub cmdOK_Click()
Set rst = New ADODB.Recordset
'Set comando = New ADODB.Command
''Set conexion = New ADODB.Connection

conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\info.mdb"

sql = "SELECT Nombre, pass FROM usuarios WHERE Nombre = '" & TxtUserName.Text & "' AND pass = '" & txtPassword.Text & "'"
'comando.CommandText = SQL

rst.CursorLocation = adUseClient ' sin esta instrucción, la propiedad RecordCount del recordset siempre devolverá -1
'rst.Open comando.CommandText, conexion

rst.Open sql, conexion

If (rst.RecordCount > 0) Then ' los paréntesis los puedes omitir, no valen para nada
frmMenuPrincipal.Show

rst.MoveNext ' esta instrucción no tiene sentido
rst.Close ' cerrar el recordset

Else
MsgBox "contraseña invalida, intente otra vez!", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If


End Sub


Se supone que ya tienes declarados los objetos Connection (conexion) y Recordset (rst).

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 11:12.