ho provato con un formview, e devo dire la cosa mi piace parecchio...

ho scritto la select..from...where dove nella from ho 3 tabelle collegate ('cittadino' e 'tabella_decod_st_civile' collegate da 'ha_stato_civile'), e nella where uso dei parametri (dati da alcune textbox riempite all'occorrenza) e degli OR affinchè i record mi siano trovati non usando per la ricerca per forza tutte le textbox (cioè mi basta scrivere in almeno una delle txtbox per avere dei risultati)

ma la cosa strana è questa: all'atto del test della query è tutto ok, ma a runtime si comporta come se avessi usato delle AND, infatti non restituisce nulla se non compilo TUTTI i campi di testo che uso per l'input!

E il bello è che se compilo tutte le txtbox mi tira fuori anche altri record (mentre dovrebbe tirarmi fuori solo un record, che è poi quello per cui i valori coincidono con gli input delle textbox)

insomma, sono partito da un problema ed ho raddoppiato!!!
che succede?

Cmq ecco la query:
SELECT cittadino.primo_nome, cittadino.età, cittadino.cognome, cittadino.cod_persona, tabella_decod_st_civile.nome_stato_civile
FROM
cittadino INNER JOIN ha_stato_civile
ON cittadino.cod_persona = ha_stato_civile.cod_persona
INNER JOIN tabella_decod_st_civile
ON ha_stato_civile.cod_stato_civile = tabella_decod_st_civile.cod_stato_civile
WHERE
(ha_stato_civile.flag_sc_corrente LIKE '%s%')
AND
( (cittadino.cod_persona = @cod_persona) OR(cittadino.primo_nome = @primo_nome) OR (cittadino.età = @età) OR (cittadino.cognome = @cognome))

_J_