DiegoLuppi1993 ha scritto:
Quando tento di eseguire l'applicazione, ricevo questo errore di cui vi allego l'immagine. [...]
Si direbbe che tu abbia
abilitato l'encrypting su SQL Server, e nel tentativo di instaurare una connessione vi sia la ricerca automatica di un certificato valido per poterla stabilire.
In
questo articolo trovi un po' di spiegazioni a riguardo e qualche metodo per la risoluzione del problema.
DiegoLuppi1993 ha scritto:
Dim adapter As New SqlDataAdapter(command)
Dim table As New DataTable()
adapter.Fill(table)
If table.Rows.Count() <= 0 Then
MessageBox.Show("Username o password non validi")
Il codice che hai scritto per l'operazione da fare mi sembra poco ottimizzato e molto "sprecone" di risorse.
La creazione di un
DataAdapter ha senso nel momento in cui vuoi memorizzare i dati ottenuti all'interno di un
DataTable, che funge da cache per le informazioni estratte tramite il comando.
Siccome ti basta controllare la presenza di un singolo record, che te ne fai della cache? Creare tutti gli oggetti per scaricare in una tabella tutti i dati dell'utente con lo scopo di andare a controllare se in quella tabella, alla fine di tutto, c'è finito almeno un record
mi pare uno spreco enorme e ingiustificato.
Aggiungi una clausola
COUNT() alla query SQL, in modo che invece di tutti i dati (che potrebbero anche includere campi BLOB molto estesi)
ti venga riportato un solo campo singolo, ossia il conteggio degli utenti che corrispondono alle credenziali indicate.
Infine, invece che coinvolgere
DataTable e
DataAdapter, semplifica il codice usando il metodo dell'oggetto
SqlCommand, che ti restituisce direttamente il valore della prima colonna del primo record ottenuto, quindi il conteggio esatto degli utenti (che puoi successivamente controllare se uguale a zero oppure maggiore di zero).
Ci sarebbero altre remore da fare sul fatto che crei gli oggetti per l'accesso ai dati senza farne esplicitamente la
Close() oppure chiamando
Dispose() tramite gli appositi costrutti (es.
Using), come indicato peraltro negli esempi della documentazione, ma direi che le indicazioni fornite sono sufficienti.
Ciao!