Richama stringhe alfanumeriche!!!

  • Creatore Discussione Creatore Discussione yoshisan
  • Data di inizio Data di inizio

yoshisan

Nuovo Utente
6 Ott 2005
2
0
0
Sono un neofita in ASP e sto realizzando un nuovo database.

Le richieste che riesco ad effettuare (per le singole voci del db) sono soltanto di tipo numerico, infatti appena inserisco una lettera non riesco più a leggere il db. A me interessa estrapolare una chiave da un campo alfanumerico, es.:

file.asp?pippo=2003

questo mi va a richiamare il valore "2003" e mi legge i dati di questo campo.

ma se la chiave fosse: file.asp?pippo=roma
vorrei leggere un campo di tipo alfanumerico e questo non legge niente.

i dati che utilizzo per richiamarlo dalla stringa sono:

var pippo = Request.QueryString("pippo");
var Rs = Cn.Execute("SELECT * FROM database WHERE citta LIKE " + pippo);


così dal campo città (del db database) mi tira fuoi i campi "roma". Con in numeri funziona e con le lettere no.

Qualcuno mi può aiutare, vi prego!!!

Francesco.
 
Ciao!

Ti svelo l'arcano! ;)

Come sai, quando si vuole assegnare un valore ad una variabile, per differenziarlo tra stringa o numerico si fa:
pippo=15 --> valore numerico
pippo="15" --> valore alfanumerico (stringa)


Lo stesso va fatto nelle query:
nel rs scritto da te, dove pippo è uguale a roma, fai
var Rs = Cn.Execute("SELECT * FROM tabella WHERE citta LIKE " + pippo);
che verrà letta come
SELECT * FROM database WHERE citta LIKE roma

come vedi il valore roma non ha gli apici, e quindi non può essere visto come alfanumerico, e, non essendo nemmeno composto da cifre numeriche non viene visto neppure come numerico, motivo per cui ti va tutto in errore!

Ecco quindi che per far leggere un valore alfanumerico alla query devi mettere la variabile tra apici, così:
var Rs = Cn.Execute("SELECT * FROM database WHERE citta LIKE '" + pippo + "'");

Vedari che così ti funge! :fonzie:

SaLuT!
:byebye:
 

Discussioni simili