IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tcl/Tk Discussion :

récupérer des champs sur Bdd sqlite en tcl.


Sujet :

Tcl/Tk

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 18
    Points : 16
    Points
    16
    Par défaut récupérer des champs sur Bdd sqlite en tcl.
    Bonsoir,
    J'ai besoin d'aide pour faire fonctionner un bout de code tcl et mettre à jour une base de données sqlite.
    La base de données contient deux tables : maj et chemin
    les champs en cause ici sont maj.m_path et chemin.c_id, chemin.c_path
    La table chemin existe et est vide lorsque je lance le script.
    le code que j'ai écris doit
    faire
    lire une ligne de la table maj
    je recupère le champ m_path dans la variable $m_path
    je récupèrer c_id dans la table chemin si chemin.c_path = maj.m_path
    si c_id existe pas
    il faut saisir un nouvel enregistrement dans la table chemin ayant c_id et m_path
    boucler sur ligne suivante.

    Voici ce script :

    package require sqlite3

    # Recherche du fichier de la BDD
    set f "bdd/partitions.db"
    if { ![file exists $f]} {
    puts stderr "Erreur accès à la base partitions."
    exit 1
    }
    # Ouverture de la BDD
    sqlite3 db1 $f
    # Itération de mise à jour table chemin
    set idc 1
    db1 eval {SELECT * FROM maj} {
    puts "maj : $m_path"
    db1 eval {SELECT * FROM chemin WHERE c_path = $m_path} {
    puts "chemin $m_path"
    if {$c_id eq ""} {
    puts "chemin vide"
    db1 eval {INSERT INTO chemin($idc, c_path) VALUES($Idc, $m_path)}
    incr idc
    } else {
    puts "chemin existant: $c_id"
    }
    }
    }

    J'ai placé des puts dans mon code...et a aucun moment je passe dans les puts notés chemin.
    Merci pour votre aide.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 18
    Points : 16
    Points
    16
    Par défaut Requête pour sqlite.
    Bonjour,
    Je pense avoir trouvé mon erreur .
    J'ai une requête SQL imbriquée dans une autre. A mon avis c'est cela qui plait pas.
    J'ai donc modifié mon script pour éviter cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    set f "bdd/partitions.db"
    if { ![file exists $f]} {
        puts stderr "Erreur accès à la base partitions."
        exit 1
    }
    # Ouverture de la BDD
    sqlite3 db1 $f
    # Variable clé primaire table chemin
    set idc 1
    # Nb lignes dans la table maj
    set Nb [db1 eval {SELECT count(m_path) FROM maj}]
    puts "Nb Enr : $Nb"
    for {set ligne 1} {$ligne <= $Nb} {incr ligne} {
    	# Lecture de la table maj 
    	set Ch [db1 eval {SELECT m_path FROM maj LIMIT $ligne, 1}] 
    	puts "maj : ligne : $ligne, m_path : $Ch"
    	# Requête sur la table chemin
    	set Prim [db1 eval {SELECT c_id FROM chemin WHERE c_path = $Ch}]
    	puts "chemin $Prim"
    	# Itération de mise à jour table chemin
    	if {$Prim eq ""} {
    		puts "chemin vide"
    		db1 eval {INSERT INTO chemin(c_id, c_path) VALUES($idc, $Ch)}
    		incr idc
    	} else {
    	puts "chemin existant: $Prim"
    	}
    }
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Symfony 2]Récupérer des données sur une BDD
    Par Ownview dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 17/06/2013, 15h34
  2. [EasyPHP] Récupérer des données sur une BDD externe ?
    Par hisin dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 31/12/2009, 12h39
  3. Réponses: 9
    Dernier message: 19/06/2008, 12h19
  4. Réponses: 2
    Dernier message: 08/06/2007, 18h00
  5. Réponses: 6
    Dernier message: 28/09/2003, 17h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo