<%@ Page Language="VB" ResponseEncoding="iso-8859-1" Inherits="AACPage" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.Oledb" %> <%@ import Namespace="System.Data.ODBC" %> <%@ Register TagPrefix="aac" TagName="header" Src="~/header.ascx" %> <%@ Register TagPrefix="aac" TagName="footer" Src="~/footer.ascx" %> <%@ Register TagPrefix="aac" TagName="telaioHeader" Src="~/service/include/telaio_header.ascx" %> <%@ Register TagPrefix="aac" TagName="telaioFooter" Src="~/service/include/telaio_footer.ascx" %> <%@ Register TagPrefix="aac" TagName="autoreFile" Src="~/service/include/autore_file.ascx" %> <%@ Register TagPrefix="aac" TagName="aggiornamenti" Src="~/service/include/aggiornamenti.ascx" %> <%@ Register TagPrefix="aac" TagName="ultimiPost" Src="~/forum/inc_ultimi_post.ascx" %> <%@ Register TagPrefix="aac" TagName="ultimiPost3" Src="~/forum/inc_ultimi_post_nuovo.ascx" %> <%@ Register TagPrefix="aac" TagName="aspect" Src="~/service/include/aspect.ascx" %> <%@ Register TagPrefix="aac" TagName="adsenseGenerator" Src="~/service/include/adsense_generator.ascx" %> <% 'Il controllo per il paging correntemente Ŕ registrato qua e lÓ, ma andrebbe 'eliminato da tutte le parti e messo qui '<'%@ Register TagPrefix="aac" TagName="paging" Src="~/service/include/paging.ascx" %'> %> ArcadiA Club - ASP .Net | La clausola SQL WHERE per filtrare il campo d'azione di una query <% sez_id = 18 immm = "programmazione" categoria = 1 #CONST aspect_asp = 0 forum_id_asp = "16" sc_asp = 1 %> <%-- --%>
 
- Filtrare dati e limitare l'azione di operazioni di modifica -
 
COSA SERVE PER QUESTO TUTORIAL
Chiedi sul FORUM | Glossario Conoscenza dell'HTML - un server che supporti la tecnologia ASP .NET - facoltativamente un editor provvisto di intellisense (es. Macromedia Dreamweaver)
La clausola SQL WHERE per filtrare il campo d'azione di una query

WHERE
Un semplice esempio per spiegare come limitare il campo d'azione di una query ad un database Access.

In molte query (come SELECT, DELETE e UPDATE) Ŕ spesso utile se non indispensabile l'utilizzo della parola chiave WHERE il cui obiettivo Ŕ quello di limitare la query solo a certe righe.
1) Iniziamo con un semplice esempio: se vogliamo cancellare da una tabella solo le righe che hanno una colonna uguale a 2 sarÓ sufficiente utilizzare la seguente sintassi:

DELETE FROM NomeTabella WHERE NomeColonna = 2
2) Gli operatori matematici disponibili sono i seguenti:
=: uguale;
<: minore;
>: maggiore;
<>: diverso (maggiore o minore);
<=: minore o uguale;
>=: maggiore o uguale.
3) Nell'utilizzare WHERE si deve per˛ prestare attenzione al fatto che, ad esempio, se una colonna contiene testo non sarÓ possibile utilizzare questa sintassi:
DELETE FROM NomeTabella WHERE NomeColonna = Testo
ma andrÓ racchiuso tra apici (o apostrofo):
DELETE FROM NomeTabella WHERE NomeColonna = 'Testo'
4) Stessa cosa se stiamo trattando una data a parte che al posto degli apici vanno utilizzati i cancelletti (#):
DELETE FROM NomeTabella WHERE NomeColonna = #25/12/1980#
5) Un ulteriore filtro Ŕ l'operatore LIKE che supporta i caratteri Jolly:
?: un singolo carattere;
*: una quantitÓ indeterminata di caratteri (anche nessuno);
#: una singola cifra;
[elenco caratteri]: un qualunque dei singoli caratteri compresi nelle parentesi quadre (i caratteri vanno separati attraverso un meno);
[!elenco caratteri]: un qualunque singolo carattere tranne quelli compresi tra le parentesi quadre.
6) Questo esempio eliminerÓ sia Paolo che Paola:
DELETE FROM NomeTabella WHERE nomecolonna1 LIKE 'Paol?'
7) Elimina Paolo e Paolone:
DELETE FROM NomeTabella WHERE nomecolonna1 LIKE 'Paolo*'
8) Elimina Paolo1, Paolo2 ma non Paolo10:
DELETE FROM NomeTabella WHERE nomecolonna1 LIKE 'Paolo#'
9) Elimina Cartella e Cartello ma non Cartelle e Cartelli:
DELETE FROM NomeTabella WHERE nomecolonna1 LIKE 'Cartell[a-o]'
10) Elimina Cartelle e Cartelli ma non Cartella e Cartelle:
DELETE FROM NomeTabella WHERE nomecolonna1 LIKE 'Cartell[!a-o]'
11) ╚ possibile utilizzare pi¨ criteri assieme attraverso gli operatori logici:
AND: le due condizioni implicate devono essere entrambe vere perchŔ la riga venga eliminata;
OR: almeno una delle due condizioni deve essere vera perchŔ la riga venga eliminata;
XOR: o una o l'altra condizione implicata deve essere vera (non tutte e due) la riga venga eliminata;
NOT: restituisce la riga solo se la condizione implicata non Ŕ vera;

SELECT * FROM nometabella1 WHERE nomecolonna1="Valore1" AND nomecolonna2="Valore2"
SELECT * FROM nometabella1 WHERE nomecolonna1="Valore1" OR nomecolonna2="Valore2"
SELECT * FROM nometabella1 WHERE nomecolonna1="Valore1" XOR nomecolonna2="Valore2"
SELECT * FROM nometabella1 WHERE NOT nomecolonna1="Valore1"

Per esempi di codice riferirsi ai documenti sulle query SELECT, UPDATE e DELETE.

 

<< INDIETROby VeNoM00