Bases de donnes - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Bases de donnes

Description:

Facult I&C, Claude Petitpierre, Andr Maurer. Libraries pour appels ... Facult I&C, Claude Petitpierre, Andr Maurer. Table utilis e dans les exemples. idv. region ... – PowerPoint PPT presentation

Number of Views:23
Avg rating:3.0/5.0
Slides: 19
Provided by: Petitp5
Category:

less

Transcript and Presenter's Notes

Title: Bases de donnes


1
Bases de données
  • Javascript SQL - LemanOS

2
Libraries pour appels SQL depuis Javascript
ltscript src'/LemanOS/dwr/engine.js'gtlt/scriptgtlts
cript src'/LemanOS/database.js'gtlt/scriptgt
3
 Table utilisée dans les exemples
4
Appels depuis Javascript(librairie database.js)
var result  database.query("select  from vins")
// au retour de la query
idv1,cepagechasselas,regionLavaux,a
nnee2005, id2,cepagesangiovese,anne
e2002, id3, regionBourgogne //
Les champs nulls napparaissent pas dans lobjet.
5
Accès aux champs
idv1,cepagechasselas...,id2,ccepag
e...,id3 result0.idv
result0.cepage result0.region result1.i
dv result1.cepage result1.region re
sult2.idv result2.cepage
result2.region
result.length lignes
6
Accès aux champs
idv1,cepagechasselas...,id2,ccepag
e...,id3
Si un champ , par exemple result0.cepage, nest
pas défini, on a typeof
result0.cepage undefined Sil ny a
quune ligne, elle est quand même placée dans
7
Lecture dun objet dont les champs sont inconnus
var result  'a'2, 'b'3 for ( key in
result 0 ) alert( result 0 key )
8
Traitement des erreurs
var result  try result database.query("sel
ect  from vins") catch(e)
alert(Erreur e) return // continue ici,
en cas de succès if (result.length0) //
pas de ligne retournée
9
Passage des paramètres
  • Quatre façons de passer des paramètres à une
    commande SQL
  • Concaténation de chaînes
  • Remplacement du signe ? par une variable
  • Remplacement du signe ? par un tableau
  • Remplacement du signe ? par un objet

10
Passage de paramètres par concaténation
var an2003, cep'chasselas'
pas
dans la chaîne var result  database.query(
"select  from vins where annee"an "
and cepage'"cep "'")
apostrophes encadrant la
chaîne Chaîne produite select from vins where
annee2003 and cepagechasselas
11
Passage de paramètres par ?
var an2003, cepchasselas var result 
database.query( "select  from vins where
annee? and cepage?", an, cep )

apostrophe Chaîne
produite select  from vins where annee2003
and cepagechasselas "
12
Tableau de valeurs
var data 0, Barolo, nebbiolo,
null var result  database. query(
'insert into vins values (?) , data ) Chaîne
produite insert into vins values (0, Barolo,
nebbiolo, null) // les chaînes de data sont
automatiquement entourées de
13
Objet en paramètre
var vin 'region''Bordeaux',
'cepage''merlot' var result  database.
query( 'insert into vins set ? , vin ) Chaîne
produite insert into vins set
regionBordeaux cepagemerlot
14
Points dinterrogation
  • Il peut y avoir plusieurs ?
  • A chaque ? doit correspondre un argument
    (il peut y en avoir plusieurs après la query)
  • Un ? peut être remplacé par
  • un entier ou un réel
  • une string
  • un tableau
  • un objet
  • Evidemment, lordre des paramètres doit
    correspondre aux ?, le système ne teste pas
    sil est pertinent

15
Deux façons de construire un objet Javascript
var vin vin.idv 0 vin.region
Valais vin.cepage chasselas vin.annee 2004
unVin idv0, Valais, cepagechasselas,
annee2004
16
Insertion de sets
create table unSet (    ensemble set ('aa',
'bb', 'cc')) insert into unSet set
ensemble'aa,cc'
Attention, pas despaces
17
Insertion de dates
create table temps (    jourHeure
datetime ) Date.prototype.sql  function ()  
       return this.getFullYear()  "-"  (this.get
Month()1)  "-"  this.getDate()            
 " "  this.getHours()  ""  this.getMinutes() 
 ""  this.getSeconds() function execute () 
        try             database.query("insert
 into temps set jour?", new Date().sql())       
   catch (e)              alert(e "ltlt"
database.readyQuery "gtgt")         
18
Clé primaire générée
var vin 'region''Bordeaux',
'cepage''merlot' var result  database.query(
'insert into vins set ? , vin ) (La base de
données génère automatiquement la clé primaire.
On peut lobtenir grâce à la commande
suivante) idNb database.last_insert_id()
Write a Comment
User Comments (0)
About PowerShow.com