- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- ASP+SQL SERVER2005: Problema con funzione COUNT
-
E se provi a fare il rs.GetRows(2,0)?
Tipo...
query_user = "SELECT USERN FROM TBL_ACCESSO WHERE USERN="+user+""
rs.Open query, conn
righe=rs.GetRows(2,0)
if righe>0 .....
-
Grazie per la risposta innanzitutto.
Ho provato così ma niente
query_user = "SELECT USERN FROM TBL_ACCESSO WHERE USERN="+user+"" rs.Open query_user,conn righe=rs.GetRows(2,0) response.Write righe() if righe > 0 then response.write "<p>Siamo spiacenti, ma l'username da te scelto è già utilizzato da un altro utente</p>" else response.Write("<p>Username disponibile</p>") end if ```Mi da in qualsiasi caso "username disponibile". Oltretutto come puoi vedere, ho provato a stampare l'array righe ma non mi scrive nulla.... Dov'è che sbaglio???? Grazie
-
Ma i concatenamenti in ASP non si facevano con &?
Se fai response.write di query_user cosa ti torna.
-
Si usa spesso & ma io ho imparato a fare qualcosina scopiazzando il codice di un amico che usa + e funziona sempre tutto (non questa cosa qua ma non penso dipenda da questo....)
se scrivo la query mi appare questo:
SELECT USERN FROM TBL_ACCESSO WHERE USERN=luca
il chè dovrebbe essere giusto in quanto sto testando il tutto usando come username luca......
Alla fine non è che chi sa quale cosa complicata sia, però non riesco a venirne fuori......
-
Dunque ho risolto così
strSQL = "select COUNT(usern) AS totaleRecord FROM TBL_ACCESSO WHERE usern LIKE '%"&user&"%'" Set Rs = Server.createObject("ADODB.Recordset") Rs.Open strSQL, Conn Response.Write("<p>Nel database sono presenti "&Rs("totaleRecord")&" record</p>") if Rs("totaleRecord") > 0 then response.write "<p>Siamo spiacenti, ma l'username da te scelto è già utilizzato da un altro utente</p>" else response.Write("<p>Username disponibile</p>") end if
Credo comunque di avere capito il problema: in pratica per fare il controllo voleva anke l'operatore LIKE nella query. Infatti con LIKE si è messo a funzionere se lo tolgo non funziona più.
Spero di aver risolto, casomai mi rifaccio vivo.....Nel frattempo comunque ti ringrazio tantissimo per l'aiuto....
-
Se scriveva cosi...
SELECT USERN FROM TBL_ACCESSO WHERE USERN=luca
Forse voleva una stringa e quindi che venisse scritto cosi...
SELECT USERN FROM TBL_ACCESSO WHERE USERN='luca'
-
Beh in effetti è giusto quanto dici, infatti dopo il LIKE sta scritto '%"&user&"%', in pratica mi chiede la stringa.
Sai, l'occhio da NON programmatore spesso tradisce su questi piccoli ma fondamentali dettagli....
L'importante comunque è capire la logica delle cose: una volta capita quella sono riuscito a tirare fuori da un controllo dell'username in una sola tabella, un controllo incorciato tra username e partita iva in 3 tabelle totali.
Ora passo alla parte delle query di inserimento, in quanto se i controlli vanno a buon fine mi deve inserire anche dei dati in queste tre tabelle.
Per ora ti ringrazio nuovamente dell'aiuto; se avrò problemi con il discorso delle query di inserimento (cosa probabile) ti distruberò ancora......:D
-
Ok alla prossima allora...
-
Si l'errore stava nel fatto che mancavano gli apici.
Devi togliere il like perchè così inneschi dei falsi positivi.
Es. nel db esiste gia [email][email protected][/email]
Se prova a registrarsi [email][email protected][/email] il sistema, con il like, ti dice che l'username è gia occupato perchè cerca mauro all'interno di una stringa e non una corrispondenza esatta della stessa
-
Vero concordo, avevo guardato il problema ma non il contesto in cui veniva usato.
Ottima osservazione e grazie per la mia svista.
-
@marcocarrieri said:
Ottima osservazione e grazie per la mia svista.
Figurati
-
Grazie ad entrambi per lo "sviluppo" della discussione....
In effetti appena ho due minuti provvederò a sistemare questa cosa che mi sembra di notevole importanza per il buon funzionamentro di un sito.