Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Piccolo Problema Con login

    Salve ho fatto un pagina di login , che funziona correttamente,
    Il mio problema è solo questo:

    Ci sono 2 campi User e Pass quando lui inserisci User e Pass corretti , allora tutto ok , prelevo i dati e li inserisco ...
    Nelle varibili ad esempio inserisco la password nella label
    cosi:

    Dim ObjReader As SqlDataReader = MyCommand.ExecuteReade
    While ObjReader.Read

    While ObjReader.Read
    ErroreLogin.Text=ObjReader.GetByte(0)
    End While

    Ma se lui l'inserisci sbagliati...be praticamente non succedde nulla, nessun errore rimane li alla pagina di login
    e invece vorrei che mi scrivesse sulla Laber =Password o User Erratti"
    Come fare?
    Nel While non entra perchè non vi è nessun valore del database che equivale a quelle User e password
    Ho provato con DBnull ma non so bene a se è quello che mi serve, come faccio fare un controllo se non ho nessun dato??
    Spero di essere stato chiaro
    in Asp era una cosa cosi Recorset.EOF ma qui nn c'è ;(

    Grazie ciaooo

  2. #2
    Ci sono alcune stranezze nel tuo codice. Richiami du evolte di fila il Reader quando lo devi fare solo una volta, quindi per prendere il testo usi il method GetByte che serve per prendere i dati in formato bytes dalla fonte dei dati. Dovresti fare qualcosa di questo tipo:
    codice:
    Dim ObjReader As SqlDataReader = MyCommand.ExecuteReader
    dim trovato as Boolean=false
    While ObjReader.Read
    if nome_oggetto_con_nome=ObjReader.GetString("nome_campo_con_nome") and nome_oggetto_con_password=ObjReader.GetString("nome_campo_con_password") then trovato=true
    End While
    
    if trovato=false then
    ErroreLogin.Text="Password o User Erratti"
    return
    end if
    ...
    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  3. #3
    Originariamente inviato da AndreaZani
    Ci sono alcune stranezze nel tuo codice. Richiami du evolte di fila il Reader quando lo devi fare solo una volta, quindi per prendere il testo usi il method GetByte che serve per prendere i dati in formato bytes dalla fonte dei dati. Dovresti fare qualcosa di questo tipo:
    codice:
    Dim ObjReader As SqlDataReader = MyCommand.ExecuteReader
    dim trovato as Boolean=false
    While ObjReader.Read
    if nome_oggetto_con_nome=ObjReader.GetString("nome_campo_con_nome") and nome_oggetto_con_password=ObjReader.GetString("nome_campo_con_password") then trovato=true
    End While
    
    if trovato=false then
    ErroreLogin.Text="Password o User Erratti"
    return
    end if
    ...
    Ciao
    Mi scuso per aver scritto 2 volte WHile ObjReader.read è stato un errore nel copiare e incollare...ma nel codice è uno solo
    del fatto che ho usato getbye è perchè nel mio codice prelevo un valore che è un Byte e non un stringa ...
    A un altra cosi ho provato a far come dici tu ..


    'Faccio scorrere Il Database
    While ObjReader.Read
    If Trim(ObjReader.GetString(1)) <> Trim(User.Text) Then

    ErroreLogin.Text = "Attenzione Username o Password sono errati"

    Exit Sub
    End If


    End While
    Il Problema sta se username o la passwrod sono sbagliati lui non entra neppure nel ciclo perchè non ha nessun valore di Objread da controllare ...
    ObjReader.GetString(1))=è il mio campo username sul DB

  4. #4
    Appunto per quello che nel mio esempio ho inserito la variabile boolean "trovato" e solo alla fine controllo se questa variabile è stata impostata a "true". Questo garantisce che venga inviato il messaggio di utente non trovato sia se il datareader non trova utenti, sia che il controlli entri nel datareader.

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  5. #5
    Che stupido sorry non mi sono accorto che era booleano scusa ..e grazie ancora ciaooooooooooooooooooooo



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 © 2025 vBulletin Solutions, Inc. All rights reserved.