Bonjour,

J'ai une requête SQL que j'effectue dans mon app PyQt, j'ai uniquement un problème lorsque ma requête a dans sa clause where une condition sur les dates.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
re = QSqlQuery()
dateS = QDate.currentDate().addDays(-1).toString("dd/MM/yyyy")
print dateS, type(dateS)
print re.exec_("SELECT P.FINAL, P.ORDRE FROM PRODUIT P "
        "JOIN ETAT E ON P.idEtat = E.idEtat"
        "WHERE E.idPersonne = %s AND E.EtatDate = %s"%(idPers, dateS))
Bien evidemment dans ma base il ya ces tables et les colonnes qu'il faut. Bref, au vu du problème, j'ai effectué directement la requête directement dans mon SGBDR et voici la requête qui me donne le résultat escompté:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
SELECT P.FINAL, P.ORDRE FROM PRODUIT P 
JOIN ETAT E ON P.idEtat = E.idEtat
 WHERE E.idPersonne = 2 AND E.EtatDate = '01/08/2014'
Donc j'ai modifié mon code comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
re = QSqlQuery()
    dateS = QDate.currentDate().addDays(-1).toString("dd/MM/yyyy")
    dateS = "'%s'"%dateS
    print dateS, type(dateS)
    print re.exec_("SELECT P.FINAL, P.ORDRE FROM PRODUIT P "
            "JOIN ETAT E ON P.idEtat = E.idEtat"
            "WHERE E.idPersonne = %s AND E.EtatDate = %s"%(idPers, dateS))
et toujours rien, quelqu'un a-t-il une idée? Merci d'avance