Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/12/2011, 13h03   #1
Nouveau Membre du Club
 
Homme
Développeur informatique
Inscription : 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
Points : 26
Points : 26
Par défaut Probleme avec SELECT

Bonjour tout le monde , dans une interface Tkinter je voudrais ajouter une fonction qui verifie le nom d'utilisateur et le mot de passe correspendant qui sont stocké dans une base de données PostgreSQL qui contient une table ayant 5 champs : 'Id' , 'Prenom' , 'Nom' , 'User' et 'PassWord' , j'ai commencé par la fonctionne qui fait le test .
Il me reste la savoir comment recuperer de ma base de donnée une liste des couples comme : [('user1','pass1') , ('user2','pass2') , ... ] , voila ma fonction :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def checkpass(failures=[]) :
 
    """ Collect 1's for every failure and quit program in case of failure_max failures """
    print(firstnamevar.get(), lastnamevar.get())
 
    onnect()
    cur = conn.cursor()
    cur.execute("set client_encoding to 'UTF8'; SELECT * from firsttable")
 
    IF (firstnamevar.get(), lastnamevar.get()) IN passwords:
 
        print('Logged in')
        Interface1()
 
        RETURN
    failures.append(1)
    IF sum(failures) >= failure_max:
        fenetre.destroy()
        raise SystemExit('Unauthorized login attempt')
    else:
        lab1.config(text='Try again. Essai : %i/%i' % (sum(failures)+1, failure_max))
Tout marche bien , je veux juste savoir la requete corespondante que je dois mettre au lieu de "set client_encoding to 'UTF8'; SELECT * from firsttable"
Ismatus1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 13h12   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 655
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 655
Points : 2 657
Points : 2 657
Bonjour,


C'est un simple select avec une clause where.

Commençons par les bases : http://sqlpro.developpez.com/cours/sqlaz/select/
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 15h25   #3
Nouveau Membre du Club
 
Homme
Développeur informatique
Inscription : 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
Points : 26
Points : 26
Bonjour tout le monde , salut Punkoff , merci bien pour vouloir me répondre , le code suivant marche bien : ça liste les couple : ('User','Pass') dans une liste b comme le montre le code suivant :

Code :
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
30
31
def checkpass(failures=[]) :
 
    """ Collect 1's for every failure and quit program in case of failure_max failures """
    #print(firstnamevar.get(), lastnamevar.get())
    global b
    connect()
    cur = conn.cursor()
    cur.execute("set client_encoding to 'UTF8'; SELECT * from firsttable")
    rows = cur.fetchall()
    IF rows : 
        a = StringVar()       
        b = StringVar()
        b = []
        a = ''
        FOR z IN rows:
            a = (z[3].strip(),z[4].strip())
            b.append(a)
        print b
 
    IF (uservar.get(), passvar.get()) IN b:
 
        print('Logged in')
        Interface1()
 
        RETURN
    failures.append(1)
    IF sum(failures) >= failure_max:
        fenetre.destroy()
        raise SystemExit('Unauthorized login attempt')
    else:
        lab1.config(text='Try again. Essai : %i/%i' % (sum(failures)+1, failure_max))
Ismatus1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h24.


 
 
 
 
Partenaires

Hébergement Web