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

PostgreSQL Discussion :

Insertion de données depuis Tkinter


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Par défaut Insertion de données depuis Tkinter
    Je voudrais inserer des données depuis une interface Tkinter dans une base de données Postgresql qui s'appele : "firstbase" qui contient une table : "firstbasetable" , et cette table contient 4 chmaps (Id , Prenom , Nom , Phone ) . L'interface graphique contient 3 entrées : Prenom , Nom , Phone , car l'Id s'incrémente tout seul .
    Voila le code de ma fonction inserer() :

    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
    def insere() :
        firstnamevar=firstname_entry.get()
        lastnamevar=lastname_entry.get()
        Phonevar=Phone_entry.get()
        print '%s  :  %s   :  %s'%(firstnamevar, lastnamevar, Phonevar)
        connect()
        cur = conn.cursor()
        a = 'Prénom3'
        #cur.execute("INSERT INTO firstbasetable VALUES (5, 'Prénom5', 'Nom5', '0000000005')")
        cur.execute("INSERT INTO firstbasetable ( Prenom, Nom, Phone) VALUES ('%s', '%s', '%s');"%(firstnamevar, lastnamevar, Phonevar )) 
        #cur.executemany("""INSERT INTO firstbasetable(Prenom, Nom, Phone) VALUES (%(first_name)s, %(firstnamevar, lastnamevar, Phonevar )s)""", namedict)
     
     
        cur.close()
        conn.commit()
    Merci bien

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    La requête est bonne donc quel est votre problème en fait ?

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Par défaut Insertion de données depuis Python
    Bonjour

    Merci punkoff pour me repondre , en fait , quand je click sur le boutton "inserer" j'obtient le message d'erreur suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Exception in Tkinter callback
    Traceback (most recent call last):
      File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 1413, in __call__
        return self.func(*args)
      File "./TkDbPostgresql.py", line 85, in insere
        cur.execute("INSERT INTO firstbasetable ( Prenom, Nom, Phone) VALUES (%s, %s, %s)",(firstnamevar, lastnamevar, Phonevar ))
    ProgrammingError: ERREUR:  la colonne « prenom » de la relation « firstbasetable » n'existe pas
    LINE 1: INSERT INTO firstbasetable ( Prenom, Nom, Phone) VALUES (E't...
    Jen sais pas c'est du à quoi ? merci bien

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    qu'il ne trouve pas de colonne nommé "prenom" dans la table firstbasetable.

    si la requete marche tel quelle avec pgadmin, vous avez surement un problème de connexion ou de droit.. (encore que je pesnes que le message d'erreur serai différent dans les 2 cas cités)

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2011
    Messages : 88
    Par défaut
    essaie de me comprendre :
    quand je remplace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cur.execute("INSERT INTO firstbasetable ( Prenom, Nom, Phone) VALUES (%s, %s, %s)",(firstnamevar, lastnamevar, Phonevar ))
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cur.execute("INSERT INTO firstbasetable VALUES (5, 'Prénom5', 'Nom5', '0000000005')")
    ça rajoute bien les données, et ça marche trés bien , mais moi mes données sont ce qu'on tape sur les entrées de l'interface graphique du programme , alors ce sont des variables

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    cf message d'erreur, vous utilisez les mauvais nom de colonnes pour faire votre insert

Discussions similaires

  1. [Débutant] Problème d'insertion de données depuis un datagridview
    Par dinjer dans le forum VB.NET
    Réponses: 4
    Dernier message: 28/11/2014, 10h20
  2. Insertion de données depuis Access vers Word
    Par Doken dans le forum VBA Word
    Réponses: 3
    Dernier message: 13/09/2013, 08h27
  3. Pb insertion de données depuis un serveur lié
    Par weebo dans le forum MS SQL Server
    Réponses: 16
    Dernier message: 19/10/2011, 11h16
  4. Problème d'insertion des données depuis Forms 10g
    Par monthaldo dans le forum Forms
    Réponses: 5
    Dernier message: 15/03/2010, 12h59
  5. pb d'insertion de données depuis un fichier externe-COPY
    Par boulou32 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 29/01/2005, 18h50

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