Evitare la ridondanza verificando l'esistenza di un dato in Asp

Siti dinamici con ASP
Impara a creare siti dinamici professionali con ASP

Scritto da Luca Ruggiero nella sezione Asp

Per ridondanza si intende il ripetersi di un dato all'interno di uno stesso campo.
Molte applicazioni necessitano di evitare che un campo contenga più di una volta lo stesso dato, come la registrazione ad un servizio con nome utente e password.

E' necessario estrarre dal database tutti i dati contenuti nel campo che interessa salvaguardare dalla ridondanza, bloccando l'utente qualora, ad esempio, scelga per il servizio una username già scelta in precedenza qualcunaltro.

Si crei un database di prova che contenga, tra l'altro, il campo username di tipo testo e si implementi il seguente codice:

<%@LANGUAGE = JScript%>
<%
   var username = new String(Request.Form("username"));

   var Cn = new ActiveXObject("ADODB.Connection");
   var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("esempio.mdb");
   
   Cn.Open(Sc);
   
   var Mostra = Cn.Execute("SELECT * FROM NomeTabella WHERE username LIKE '" + username + "'");
   
   if (!Mostra.EOF) {
       Response.Write("ERRORE: Username già esistente!");
   }
   else {
      // Effettua la registrazione e lancia un messaggio di successo
   }
%>
Ovviamente il modulo è stato inviato a questo file Asp col metodo post.

Nota: E' necessario effettuare preventivamente il replace sulla variabile username, se per caso dovesse contenere un apice (Rif. Come risolvere il problema dell'apice nelle query).
C'è da aggiungere che questo metodo non è consigliabile per un campo tipo nome o cognome, dato che, ad esempio, di Luca o di Ruggiero ce ne possono essere molti, e non si può impedire la registrazione.

I più cliccati della sezione Asp

:: Un semplice form mail in Asp (51.682)

:: Creazione di un Guestbook in Asp (50.782)

:: Creazione di un'area di accesso riservato in Asp (45.423)

:: Connessione ad un database MySql con Asp (25.044)

:: Connessione ad un database Microsoft SQL Server con Asp (24.069)

:: Asp e database (23.123)

:: Differenza tra i metodi get e post e recupero dei dati, attraverso Asp (22.301)

:: Una semplice area di accesso riservato senza DB in Asp (21.384)

:: Riscrivere le URL con Asp (19.743)

:: Creazione di un Sondaggio in Asp (19.100)

IN EVIDENZA
DOWNLOAD