Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1

    [VB.NET]-Problema nella classe Login

    Ciao a tutti, sto facendo il mio primo programma in VB e ho un paio di problemi con la classe per fare il Login. Ho fatto una finestra madre che contiene una finestrella per fare il login e ho riscontrato i due seguenti problemi:
    1)Il pulsante accedi non mi fa nulla (probabilmente perchè non riesco a prendere i valori delle due textbox);

    2)In fase di compilazione mi dà i due seguenti errori: 'Text' non è un membro di 'String' e 'TextLength' non è un membro di 'String'

    vi posto il codice:

    Private Sub Entra(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)

    Dim Username As String
    Dim Password As String

    Username = "SELECT Username FROM Utenti WHERE" & username
    Password = "SELECT Password FROM Utenti WHERE" & password

    If Trim(Username.Text).Length = 0 Then
    MsgBox("Inserire l'username per accedere.", vbCritical, "ERRORE")
    Exit Sub
    End If

    If Trim(Password.Text).Length = 0 Then
    MsgBox("Inserire la password per accedere.", vbCritical, "ERRORE")
    Exit Sub
    End If

    If Username.TextLength > 0 And Password.TextLength > 0 Then
    accedi.Enabled = True
    Else
    accedi.Enabled = False
    End If

    End Sub

    P.s.: come DB ho usato Access

  2. #2
    Hai provato ad aggirare l'ostacolo?

    ...
    if Username = "" then

    ...

    if Password = "" then

    ...

  3. #3
    Ci ho già provato così e se è vero che mi toglie gli errori è pure vero che non mi mosta le MsgBox

  4. #4
    ... l'ho detto perchè le variabili sono dichiarate come string: in questo caso il sistema si aspetta un valore tra doppi apici! Quindi sostituendo le condizioni da = 0 a = "" dovrebbe funzionare anche il MessageBox...

  5. #5
    In ogni caso le query sono sbagliate; così com'è adesso la clausola where è incompleta e l'uso di due query separate è errato, sarà semmai una roba del tipo:
    codice:
    "SELECT Username, Password FROM Utenti WHERE Username='" & username & ''" AND Password='" & password & "'"
    Tuttavia se usi questa roba comunque la tua applicazione rimane estremamente vulnerabile ad attacchi di tipo SQL injection. Dovresti usare delle query parametriche.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Per quanto riguarda le MsgBox non mi funzionano.

    La stringa SQL mi da errore di sintassi e MItaly che intendi per: "rimane estremamente vulnerabile ad attacchi di tipo SQL injection. Dovresti usare delle query parametriche."?

  7. #7
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8

  9. #9
    E volendo infierire ..... mi verrebbe da dire:
    Ma il codice che hai scritto lo hai inventato? E' un nuovo linguaggio di programmazione?

    Se dentro la variabile UserName c'è scritto
    codice:
    Username = "SELECT Username FROM Utenti WHERE" & username
    per quanto sbagliato possa essere .... non sarà mai vera la condizione:
    codice:
    If Trim(Username.Text).Length = 0 Then
    ti sembra?

    Ciao

  10. #10
    Supponiamo che io abbia corretto gli errori di cui parla Jeremy75, rimane il fatto che non mi funzionano nè le msgbox e nè le Console.Write() o .WriteLine() di cui sotto:

    Console.Write("testo")
    Console.WriteLine("testo")
    MsgBox("testo", MsgBoxStyle.Critical, "ERRORE")
    MsgBox("testo", vbCritical, "ERRORE")

    Per "non mi funzionano" intendo che nella console non mi scrive niente e non mi compare nessuna finestrella di alert. Qualche idea?

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.