Pagina registrazione (controllo doppioni utenti)

venerdì 21 novembre 2008 - 12.07

Anonimo Profilo | Senior Member

Salve, ho questo codice, mi sapete dire cme faccio ad fare un controllo se non esiste un'altro utente con lo stesso nome?.
ho già fatto while etc.. ma non so come mai non mi funziona.
uno si registra e sceglie il nome utente e poi clicca sul pulsante lo stato checkusername controlla se non esiste già e da conferma di registrazione se no invece da errore.aspx.

mi sapete dire come fare?.
grazie.
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

alx_81 Profilo | Guru

>Salve,
Ciao!

>mi sapete dire come fare?.
Personalmente, ritengo più efficace fare un controllo lato database. Quindi prima un controllo sull'esistenza dell'utente e poi la insert se non esiste.
Che RDBMS utilizzi?
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Anonimo Profilo | Senior Member

ciao, sicome che sto convertendo un file .vb in .cs,
mi dici come mai mi da errore su ExecuteScalar.
Errore 1 Impossibile convertire in modo implicito il tipo 'object' in 'int'. È presente una conversione esplicita. Probabile cast mancante. \registrati.aspx.cs 34 28 http://localhost:810/

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

alx_81 Profilo | Guru

>ciao, sicome che sto convertendo un file .vb in .cs,
>mi dici come mai mi da errore su ExecuteScalar.
Perchè l'executeScalar torna un object e non puoi metterlo "dentro" ad un intero.
fai:

strUserCount = (int)checkUsername.ExecuteScalar();
oppure
strUserCount = Convert.ToInt32(checkUsername.ExecuteScalar());

ma devi stare attento a concatenare l'sql in quel modo, sei sempre soggetto ad attacchi di tipo SQL Injection.
Leggi qui per maggiori informazioni:

http://www.dotnethell.it/articles/SQL-Injection-Tutorial-Security.aspx


--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Anonimo Profilo | Senior Member

ok, quindi mi dici di usare questa cosa:

// collection Parameters
oCmd.Parameters.Add("@Nome", SqlDbType.VarChar, 20).Value = strNome;

in odbc come ?.

OT: PS: scusa, ma quando costa un server e che linea ci vuole per fare che rimanga Attivo 24hs24h7ggsu7gg.

Grazie, mille.

alx_81 Profilo | Guru

>ok, quindi mi dici di usare questa cosa:
>
>// collection Parameters
>oCmd.Parameters.Add("@Nome", SqlDbType.VarChar, 20).Value = strNome;
>
>in odbc come ?.
se puoi, cambia in OLEDB.. se usi SQL Server, usa SQLClient.. Comunque sì, ODBC e OLEDB "?" mentre SQL Client "@parametro".

>OT: PS: scusa, ma quando costa un server e che linea ci vuole per fare che rimanga Attivo 24hs24h7ggsu7gg.
Eh non so aiutarti, senti chi li vende
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Anonimo Profilo | Senior Member

uso mysql, tramite odbc , l'unico collegamento al db mysql .

perchè l'hoster non vuole che utilizzi mysql connector, perchè è vietato.

grazie.

alx_81 Profilo | Guru

>uso mysql, tramite odbc , l'unico collegamento al db mysql .
>perchè l'hoster non vuole che utilizzi mysql connector, perchè è vietato.
e perchè mai?
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5