Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Vb6 - Login

  1. #1

    Vb6 - Login

    Scusate starò facendo una 30 di topic al secondo, ma nonostante la ricerca non ho trovato topic che soddisfano le mie richieste
    In parole povere devo fare una finestra di login, i cui dati sono inseriti nel solito database di turno.
    id.text e password.text sono i campi in cui vengono inseriti i dati.
    A questo punto devo estrarre i dati dal database. Faccio quindi eseguire la query select id, password from login.
    Ma poi dove vengono memorizzate le informazioni estrapolate dal database?
    Avevo trovato
    adodc1.recordset.getrows, ma non funziona, evidentemente ho sbagliato qualcosa?
    Ancora una cosa
    Se metto una istanza del controllo datagrid, e ne posiziono un altra sotto, nella prima faccio uscire dei nominativi
    Quindi se io premo su un nominativo, vorrei che nel datagrid di sotto uscissero dei dati suoi contenuti in un'altra tabella
    Per fare ciò in entrambe le tabelle ho messo i campi nome e cognome, cosi che posso richiamarli normalmente, ma purtroppo non copnosco i comandi del datagrid?

    P.s Forse la seconda domanda l'ho già scritta scusate se è ripetuta!

  2. #2
    Utente di HTML.it L'avatar di Fado84
    Registrato dal
    Feb 2004
    Messaggi
    347
    sinceramente ho capito poco.. cmq spero ti sia di aiuto..
    Prima di tutto come è strutturato il database??
    se hai una tabella UTENTI con dentro 2 campi USER e PASSWORD puoi fare così:
    te hai il tuo recordset che caricherai con una query tipo
    SELECT * FROM UTENTI
    codice:
    with recordset 
    Do While .EOF and Trovato=False
        if !USER=id.password and !PASSWORD =password.text then
            Trovato=True
        end if
    .movenext
    Loop
    
    
    if Trovato=True then
    'fai quello che vuoi....
    else
    'login errato..
    end if
    end with
    ciau!

  3. #3
    Utente di HTML.it L'avatar di Fado84
    Registrato dal
    Feb 2004
    Messaggi
    347
    per salvare i dati di un nuovo user fai lo stesso procedimento per il controllo se esiste gia un user con quel nome.. se non c'è fai recordset.add e scrivi i dati del nuovo user

  4. #4
    Grazie della risposta. Hai azzeccato quello che volevo fare, però non ho capito alcune righe di codice (sai ci tengo a capoire quello che mi faccio dire)
    Codice PHP:
    with recordset //cosa vuol dire questo?
    Do While .EOF and Trovato=False //loop finchè trovato = falso e .eof cosa è?
        
    if !USER=id.password and !PASSWORD =password.text then //' se user = forse volevi scrivere user.text? e password = text.text allora metti quello true
            
    Trovato=True
        end 
    if
    .
    movenext //' movenext cosa significa?
    Loop


    if Trovato=True then
    'fai quello che vuoi....
    else
    '
    login errato..
    end if
    end with //' si chiude il with recordset? 

    Grazie!
    Aspetto risposte per datagrid

  5. #5
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    with recordset //cosa vuol dire questo?
    Do While .EOF and Trovato=False //loop finchè trovato = falso e .eof cosa è?
    if !USER=id.password and !PASSWORD =password.text then //' se user = forse volevi scrivere user.text? e password = text.text allora metti quello true
    Trovato=True
    end if
    .movenext //' movenext cosa significa?
    Loop


    if Trovato=True then
    'fai quello che vuoi....
    else
    'login errato..
    end if
    end with //' si chiude il with recordset?
    In VB 6.0

    With/End With è un costrutto per specificare un ambito. In parole
    povere vuol dire che tutto quello che scrivi tra With ed End With
    è riferito all'oggetto specifico.

    With recordset, quindi, vuol dire che in questo ambito fai
    all'oggetto recodset. Per cui le proprietà ed i metodi di questo
    oggetto non devono necessariamente essere preceduti dal nome dello
    stesso.
    Con il costrutto With/End With si compatta il codice. Senza
    With/End With avresti dovuto scrivere :

    codice:
    Do While recordset.EOF and Trovato=False 
        if recordset!USER=user.Text and recordset!PASSWORD =password.text then 
        ' if recordset!USER=id.password and recordset!PASSWORD =password.text then
            Trovato=True
        end if
        recordset.movenext 
    Loop
    invece di :
    codice:
    with recordset 
    Do While .EOF and Trovato=False 
        if recordset!USER=user.Text and recordset!PASSWORD =password.text then 
        'if !USER=id.password and !PASSWORD =password.text then
            Trovato=True
        end if
        .movenext 
    Loop
    EOF è una proprietà dei RecordSet ed indica, se True, che non ci sono
    più records. Per cui il ciclo Do While si interrompe dopo l'ultimo
    record, oppure non è iniziato se il recordset è vuoto.
    La If è effettivamente errata, se le textbox si chiamano user e
    password la if è quella che ho già inserito nel codice.
    MoveNext è il metodo del RecordSet che ti posiziona al prossimo
    record.

    Ciao,
    Ciao, Brainjar

  6. #6
    Utente di HTML.it L'avatar di Fado84
    Registrato dal
    Feb 2004
    Messaggi
    347
    Brainjar ha risposto perfettamente..
    se hai altri dubbi chiedi pure

  7. #7
    Siete stati chiarissimi, oggi lo provo a casa e vi faccio sapere
    edit
    ho provato però ho dei problemi e dubbi
    mi dice loop senza do, eppure ci sta!
    Ho provato altre volte ma niente da fare mi da vari errori di loop.
    Sarebbe meglio spiegarmi le funzioni necessarie e magari lo sviluppo da solo.
    Ho provato anche a smanettare varie volte, portando a termine questo codice
    codice:
    With Adodc1
    With .Recordset
    Do While (.EOF = True) And (trovato = True)
        If !USER = Text1.Text And !Password = Text2.Text Then
            trovato = True
        End If
    .MoveNext
    Loop
    End With
    End With
    If trovato = True Then
    Load principale
    principale.Show
    Unload Me
    Else
    If (trovato = False) Then
    MsgBox "Nome utente o password errati", vbInformation, "Errore nel login"
    End If
    End If
    Purtroppo mi da errore nel blocco with, cosa che per adesso non riesco ancora a capire

  8. #8
    e vai one two three for and UP

  9. #9
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Hai risolto ?
    Guarda che hai annidato due With.
    Prova a metterne uno solo con
    codice:
    With Adodc1.Recordset
        Do While (.EOF = True) And (trovato = True)
            If !USER = Text1.Text And !Password = Text2.Text Then
                trovato = True
            End If
            .MoveNext
        Loop
    End With
    If trovato = True Then
        Load principale
        principale.Show
        Unload Me
    Else
        If (trovato = False) Then
            MsgBox "Nome utente o password errati",       vbInformation, "Errore nel login"
        End If
    End If

    Ciao,
    Ciao, Brainjar

  10. #10
    guarda che i due blocchi with ci stanno bene, se noti io faccio
    with adodc1
    with .recordset
    cmq di errore mi da (inserendo il tuo codice)
    "Variabile oggetto o variabile blocco with non impostata"
    Come riga gialla mi da
    Do While (.EOF = True) And (trovato = True)
    Non riesco a capire!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.