Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    162

    [VB.NET]Enum

    Salve,
    ho un progetto da fare,l'inizio di questo progetto dice che ho un database(mdb), che ha una tabella con una sola riga dove ci sono tre password(pass1,pass2,pass3),la pass1 può accedere a determinate funzioni,la pass2 ad altre e l'ultima ad altre.
    questa pass viene digitata in una textbox, devo prelevare questa pass confrontarla tra le tre e prendere questo valore e fsrgli fare le proprie determinate funzioni.

    io il codice l'ho fatto e funziona,però non sono convinto che sia il sistema migliore.

    Il codice è questo:

    Public Enum Livelli
    master = 1
    pluto
    pippo
    nonautenticato
    End Enum

    Public liv As Livelli

    Public Function FindPassword(ByVal pass As String) As Livelli
    Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:miodatabase.mdb;"
    Dim cn As New OleDbConnection(strConn)
    Dim cm As New OleDbCommand()
    Dim dt As OleDbDataReader
    Dim da As New OleDbDataAdapter(cm)

    cm.CommandText = "SELECT PSW1,PSW2,PSW3 FROM Anagrafica WHERE PSW1='" & pass & "'" & " OR PSW2 ='" & pass & "'" & " OR PSW3 =' " & pass & "' "
    cm.Connection = cn
    Try
    cn.Open()

    dt = cm.ExecuteReader()
    If dt.Read() Then
    If (pass = "master") Then
    liv = CType([Enum].Parse(GetType(Livelli), dt.Item("PSW1")), Livelli)

    End If
    If (pass = "pluto") Then
    liv = CType([Enum].Parse(GetType(Livelli), dt.Item("PSW2")), Livelli)


    End If

    If (pass = "pippo") Then
    liv = CType([Enum].Parse(GetType(Livelli), dt.Item("PSW3")), Livelli)
    End If

    End If

    Catch er As Exception
    MsgBox(er.Message & Environment.NewLine & er.StackTrace)
    cn.Close()
    End Try


    Return liv

    End Function

    Potete dirmi se è corretto come ho interpretato il problema?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    162
    Non c'è nessuno che mi puo' aiutare a capire se questo codice con le enumerazioni è esatto?

    Avrei solo bisogno di un consiglio...

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Ma qual è il problema specifico che riscontri? Per verificarlo, visto che il codice non è nemmeno incluso nell'apposito tag, quindi indentato correttamente, dovrei provarlo.

    Mi sembra comunque strano che la scelta del valore enumerativo venga fatta convertendo direttamente il campo della tabella; è una scelta che espone a molti rischi, nel caso in cui vengano variate le scelte possibili per tale campo.

    Se lo scopo è creare più livelli di utenza, io userei un valore esclusivamente numerico, intero, in modo da poter sfruttare tutto il range di valori stabilendo poi delle costanti che indichino le soglie di tali valori che portano ad essere semplici utenti, poi utenti avanzati, poi amministratori, ecc.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.