asp.net con dreamweaver 8

Pubblicità

draganbao

Nuovo Utente
Messaggi
6
Reazioni
0
Punteggio
24
ciao a tutti,
ho iniziato da poco a costruire un semplice sito internet con dreamweaver 8 ed ho un problema che nn riesco a risolvere.
Il mio sito è collegato ad un database, di esercizi sportivi, siccome ogni esercizio può avere una o + categorie associate, nel database ho un campo (true/false) per ogni categoria di esercizio.
Ho creato una pagina di visualizzazione degli esercizi, questi vengono semplicemente visualizzati in una tabella (ho creato il dataset e ho usato l'opzione area ripetuta). Il problema nasce quando voglio filtrare gli esercizi per categoria. Cerco di spiegarmi meglio. Se volessi filtrare gli esercizi per la categoria contropiede, dovrei mettere un filtro sul dataset di tipo contropiede=true, se però volessi filtrare per la categoria difesa, dovrei mettere un filtro di tipo difesa=true. In pratica, il testo dinamico all'interno dell'area ripetuta dovrebbe a seconda dei casi appartenere ad un dataset piuttosto che ad un altro, oppure allo stesso dataset ma con filtri diversi.
Mi servirebbe inserire una sorta di if, ma non so dove metterlo. Una soluzione potrebbe essere creare tante pagine uguali quante sono le categorie, dove in ognuna cambia solo il dataset, filtrato in ogni pagina secondo la categoria desiderata, ma mi chiedevo se ci fosse un modo alternativo per riutilizzare la stessa pagina... in fondo a logica, basterebbe un semplice if, in cui, a seconda della categoria, vado a inserire un dataset diverso.
Mi potete aiutare?
 
scusa ma passare un parametro alla pagina che indica la categoria/e su cui filtrare non sarebbe un'idea migliore?

una volta passato il parametro lo usi nella costruzione della query sul db e sei a posto.
 
Si, già lo faccio, il problema è che esercizio e categoria non sono 1:1. Un esercizio può avere + categorie, quindi dovrei filtrare a seconda del parametro passato di tipo categoria=true...
ti ribalto la domanda.
sul dataset Esercizi dovrei fare una query del tipo:

select titolo
from Esercizi
where difesa=? OR contropiede=? OR passaggio=?

dove ? sta per il parametro passato via url.

la query funziona nel caso ci siano solo 2 categorie, tipo:
select titolo
from Esercizi
where difesa=? OR contropiede=?

ma appena aggiungo la terza, mi dice
Errore di sintassi (operatore mancante) nell'espressione della query 'Contropiede=null OR Difesa=null OR passaggio=true'

nn so se mi sono spiegato molto bene..ma chiedete pure se vi servono altri chiarimenti

Grazie mille x l'aiuto
 
per controllare "null" non usare = ma is

select ... from ... where nomecapo is null ...

quell'errore è un po' vago :doh:
 
hai ragione, il messaggio d'errore non e' proprio chiarissimo...

In realta' non e' che vado a scrivere nella query: where contropiede=null

la query mi viene scritta da dreamweaver in questo modo:

Select titolo
from Esercizi
where Contropiede = ? OR Difesa = ?

con due parametri passati attraverso URL.
poi quando clicco sul tasto prova, per vedere se la query funziona, quando mi chiede il valore dei parametri metto per uno true, e per l'altro null, come se quel parametro non venisse passato nell'url e tutto funziona.
Quando aggiungo il terzo pero'.. cliccando sul tasto prova, e assegnando a due parametri il valore null e al terzo il valore true, mi da' quell'errore criptico.. :D
 
non e' che magari sbaglio qualcosa nel formato della query...

che il where or or or non sia formalmente corretto?

:boh:
 
Pubblicità
Pubblicità
Indietro
Top