Accueil   |   Forums   |  Offres d'emplois   |  Contact    |   Mon compte   
mardi 9 février 2010 Rechercher :
Déposez votre CV gratuitement sur touslesemplois
 
comparer les prix
» Logiciels
» Jeux vidéos
» Matériel Informatique


» ASP.NET
» ASP
» SQL
» PHP
» JAVASCRIPT
» XML
 


» ACTUALITÉ / DIVERS
» DROIT DE L'INTERNET
» INFOS VIRUS
» PATCHS MICROSOFT
» SÉCURITÉ
» BASES DE DONNÉES
» DOWNLOAD .NET
» LOGITHÈQUE
» SERVICES WEB
» Y SONT FOUS !
» .NET
» ASP
» ASP.NET
» JAVA
» PHP
» XML
» LANGAGE C#
» LANGAGE VB.NET
» UNIX / LINUX
» WINDOWS
» EVÈNEMENTS
» GASP
» MICROSOFT
 



Vous êtes ici : Articles SQL > NOTES DE COURS

Le langage SQL : Initiation - mes premiers pas
Le langage SQL a pour but de d'uniformiser l'accès aux différentes Bases de données et SGBD (Sytème de Gestion de Base de données). Il est largement standardisé et on le retrouve présent dans tous les SGBD (systèmes comme Oracle, Sql Server) ou bases de données (Dbase, Access....)


ABONNEZ-VOUS GRATUITEMENT A LA REVUE DE PRESSE "LES Z'ACTUS" ET RECEVEZ CHAQUE JOUR DANS VOTRE BOITE AUX LETTRES LA MEILLEURE INFORMATION DEDIEE AUX WEBMASTERS / DEVELOPPEURS.

Indiquez votre adresse E-mail :

Technologie : SQL 
Date : 29/05/2006   
Auteur : ASP MAGAZINE

Qu'est ce qu'une requête Sql

Un requête est une opération qui consiste à extraire d'une table (d'une base de données) tout ou partie des éléments qui s'y trouvent.

Supposons que vous ayez créé une base Access s'appelant carnet_adresse dans laquelle se trouve une table Adresses. Vous pouvez souhaiter visualiser l'ensemble des éléments , ou simplement toutes les adresses situées à PARIS, ou toutes les adresses dont le numéro de téléphone commence par 04, etc...

Pour ce faire vous exécutez une requête Sql sur la table Adresses.

Quand utiliser une Requête Sql

Pour ce qui nous concerne nous utilisons des requêtes Sql au sein de nos fichiers Asp. En Asp il existe deux objets utiles pour la connection à une base de données. L'objet Connection et l'objet Recordset... L'objet connection ouvre une connexion entre l'utilisateur et la base de données, alors que l'objet Recordset va se contenter de contenir les éléments extraits d'une des tables de la base de données, tout cela par l'intermédiaire d'une requête Sql.

Dans l'ordre des choses :

  • 1) Création de l'objet connection
    Set conn=server.createObject("ADODB.connection")

  • 2) Ouverture du canal entre l'utilisateur et la base de données
    conn.open "carnet_adresse" (pour plus de précision voir Asp: notes de cours [Base de données])

  • 3) Création de l'objet recordset
    Set rs=server.createObject("ADODB.recordset")

  • 4) Définition de la requête SQL
    Dans la plupart des cas on utilise une variable chaîne de caractères (ici SQL) qui contient la définition de la requête
    SQL="Select * From Adresses"
    En Français : SQL ="Sélectionne tous les éléments de la table Adresses"

  • 5) Ouverture de la table Adresses et exécution de la requête
    rs.open sql,conn,3,3

Note : Pour en savoir plus Rendez vous sur Asp: notes de cours [Base de données]

Elements de Base

Le langage SQL est relativement intuitif. En fait il suffit simplement de formaliser ce que l'on souhaite faire :

  • 1) Je souhaite sélectionner les éléments de la table Adresses
    => SELECT * FROM Adresses
    - * signifie (tous les champs)

  • 2) Je souhaite sélectionner toutes les personnes qui s'appelle DUPONT
    => SELECT * FROM Adresses where nom='DUPONT'
    - WHERE (Où en Français)
    - Outre l'opérateur = vous pouvez utiliser < (inférieur à), <= (inférieur ou égal à), > (supérieur à), >= (Supérieur ou égal à)

  • 3) Je souhaite sélectionner toutes les personnes dont le nom commence Par DU
    => SELECT * FROM Adresses where nom LIKE 'DU%'
    - Le caractère % remplace un ou plusieurs caractères
    - Le mot réservé LIKE (en Français COMME) remplace l'égalité quand la comparaison n'est pas fixe (en effet on ne connait pas au départ tous les noms commençant par DU alors que dans le cas précédent dans le cas précédent c'était DUPONT)

  • 4) Je souhaite sélectionner toutes les personnes dont le nom contient les lettres DU
    => SELECT * FROM Adresses where nom LIKE '%DU%'
    - Remarquez qu'ici le caractères % se situe également avant DU, tous les noms contenant DU  (quelque soit son emplacement dans le nom) sont recherchés.

  • 5) Je souhaite sélectionner toutes les personnes dont le nom contient les lettres DU et dont le prénom commence par A
    => SELECT * FROM Adresses where nom LIKE '%DU%' AND prenom LIKE 'A%'
    - AND (ET en Français) , on recherche les éléments vérifiant la condition 1 portant sur le nom et la condition 2 portant sur le prénom

  • 6) Je souhaite sélectionner toutes les personnes dont le nom contient les lettres DU ou dont le nom commence par A
    => SELECT * FROM Adresses where nom LIKE '%DU%' OR nom LIKE 'A%'
    - OR (OU en Français) , dans ce cas les résultats contiennent à la fois toutes les adresses dont le nom contient DU et toutes les adresses dont le nom commence par A
    La compréhension des différentes requêtes présentées ici vous permettra de répondre à un maximum de cas ...

Utiliser un champs de formulaire comme critère de recherche

Supposons que vous ayez un champs nom dans votre formulaire du type :
<INPUT Type="TEXT" Name="Nom" >

En ASP on récupère la valeur du champ posté par l'intermédiaire de l'objet Request
Une fois posté, Request("nom") contiendra la valeur entrée par l'utilisateur dans le champ nom.

Exemple :

Je sélectionne toutes les adresses dont le nom est égale à Request("nom")
SQL="SELECT * FROM Adresses Where nom='" & Request("nom") & "'"

- La chaîne de requête (SQL) est créée ici dynamiquement et changera automatiquement en fonction de la valeur de Request("nom")
- Remarquez que request("nom") n'est pas inclus dans les apostrophes (c'est une variable), il est ajouter par l'intermédiaire de & à la chaine de requête
- La valeur de test request("nom") est une chaîne de texte on l'encadre par le caractère '
- Si l'utilisateur tape DUPONT dans le champ nom, la chaîne de requête SQL prendra pour valeur : SELECT * FROM Adresses Where Nom='DUPONT'

Supposons qu'un champ prenom de type text fasse également partie du formulaire :
On pourra sélectionner tous les éléments de la table Adresses dont le nom et le prenom sont égaux aux valeurs entrées par l'utilisateur en procédant comme suit :

SQL="SELECT * FROM Adresses WHERE nom='" & Request("nom") & "' AND prenom='" & request("prenom") &"'"



Project Hoshimi


A RETENIR CETTE SEMAINE
09/02/2010 - Une deuxième RC pour ASP.Net MVC 2
Microsoft vient de mettre en ligne une deuxième RC de sa technologie ASP.Net MVC 2. La RC est con ...
09/02/2010 - Microsoft TechDays : Windows Azure, le cloud du spectacle
Première journée Microsoft TechDays consacrée aux développeurs et aux infrastructures. Windows Azure ...
09/02/2010 - Nokia passe son système Symbian en Open Source en accéléré
Nokia fait passer son système Symbian en Open Source. Il s'agit d'une réplique à Google et à son sys ...
08/02/2010 - Installer son environnement de développement Sharepoint 2010
L’objectif de cet article est, comme son titre l’indique, d’installer une plateforme de développemen ...
08/02/2010 - Interview de Don Syme, le créateur de F#
Nous avons plusieurs fois eu l'occasion de mentionner Don Syme sur DNG, notamment lors de son travai ...
08/02/2010 - Toutes les astuces pour accélérer Windows !
Votre PC fait grise mine ? Il souffre de lenteurs ou vous laisse le temps de boire un café lors de s ...
08/02/2010 - Toutes les ressources gratuites pour les développeurs disponible en un clin d'oeil
Le saviez-vous ? Microsoft met gratuitement à la disposition des développeurs pléthore de télécharge ...
(c) 1999-2006 ASP MAGAZINE SARL
Partenaires : Codes sources c2i ASP-PHP
Hébergement serveurs dédiés Windows


Hit-Parade