query in asp

  • Creatore Discussione Creatore Discussione laura76
  • Data di inizio Data di inizio

laura76

Nuovo Utente
16 Mar 2006
1
0
0
Buongiorno a tutti!
ho la necessità di far aprire da una pagina asp una query creata sul db in access.
La query è molto semplice in quanto estrapola i dati per un intervallo di tempo, chiedendomi data inizio e data fine. In access funziona, ma non so come farla aprire dalla pagina asp.

Altrimenti pensavo di fare un if in asp che mi prendesse direttamente i dati per mese, a seconda del mese che scelgo in un menù a tendina nella pagina in asp. Per fare questa cosa però non conosco bene la sintassi. Vi riporto di seguito un fac simile dell'if che ho ipotizzato:
if mese = 01 "SELECT * FROM corsi WHERE month(data) = '01' order by data asc"

Mi servirebbe sapere esattamente la sintassi e se devo inserire delle altre parti di codice prima e/o dopo l'if.

Grazie
Ciao
 
Ciao Laura, hai centrato il concetto ma stai prendendo la strada più lunga.

Hai mai sentito parlare di querystring? Prendi l'indirizzo di questa pagina ad esempio

http://forum.mrwebmaster.it/showthread.php?p=28138

Abbiamo un unico file, PHP in questo caso, che richiama il valore 28138 associato alla variabile "p".

Nel tuo caso non so cosa devi estrarre per mese, ma ipotiziamo che siano eventi e per ogni mese vuoi mostrare quelli associati.

avrai il file evento.asp a cui puoi passare una variabile di questo tipo:

evento.asp?mese=01

per indicare gli eventi di gennaio.

Nel file eventi.asp dovrai:

1. recuperare la variabile mese
2. utilizzarla nella query

Ipotizzando che "rs" sia il recordset e "cn" la connessione, potrai scrivere la query che segue:

Dim mese
mese = Request.QueryString("mese")

rs.Open "SELECT * FROM eventi WHERE mese = '" & mese & "'", cn, 1

Poi:

3. verifica che esista il mese

If rs.EOF Then
Response.Write "Il mese " & mese & " non esiste oppure non ci sono dati"
Else
' CICLO PER ESTRARRE TUTTI I DATI
End If

Fare delle If per tutti i casi possibili è un suicidio! Nel caso dei mesi vabbè, sono 12 ed amen, ma in altri casi non calcolabili che fai? 1000000000 If???

Conta poi anche che dovrai stabilire l'anno a cui il mese è associato, quindi la querystring della pagina diventerà

evento.asp?mese=01&anno=2006

e di conseguenza la query diventerà

rs.Open "SELECT * FROM eventi WHERE mese = '" & mese & "' AND anno = '" & anno & "'", cn, 1

dopo aver recuperato anche "anno" in querystring come "mese".

Tutto questo ammesso che tu abbia campi differenti per mese e anno e non un solo campo in formato gg/mm/aaaa altrimenti devi fare il "substring" dei valori per calcolarlo direttamente in SQL, utilizzando l'SQL Jet se il DB è Access o SQL Server, oppure utilizzando le apposite funzioni su prodotti differenti come MySQL...

Hai voglia, ce n'è da dire e da fare! Come si dice dalle mie parti... sembra facile fare un buon caffè :)

Fammi sapere!

:byebye:
 

Discussioni simili