Originariamente inviato da riccardone
invece di fare select * from e poi istanziare un datareader e leggerne il valore (nel tuo caso comunque basterebbe un if tuodr.hasrows ) puoi fare un select count(*) from . In questo modo, la query ritornerebbe sempre e solo 1 singolo valore (1 o + se c'e' qualcosa oppure 0). Come si fa ad usare un risultato che sappiamo essere costituito da una sola colonna? usando la funzione ExecuteScalar del command. Quindi
codice:
connetti() 
strsql = "Select COUNT(*) from Utenti where username=? and passwd=?" 
cmdSql = New OleDbCommand(strsql, conn) 
cmdSql.Parameters.Add(usa i parametri e non incollare stringhe nelle query)
dim res as integer = cmdSql.ExecuteScalar 
if res > 0 then 
' ti ho trovato
end if
Cosa vuoi dire? non ho capito cosa devo mettere nelle parentesi
(usa i parametri e non incollare stringhe nelle query)