Je reçois le message d'erreur suivant lorsque vous essayez d'exécuter une requête de curseur sur une base de données SQLite3: Pourquoi la requête Django connection.cursor échoue-t-elle?
Mon code est le suivant:
qry = ('select balancer_security.id, balancer_security.name, balancer_security.symbol, '
'balancer_securityprice.at_dt, balancer_securityprice.price, balancer_securityprice.notes '
'from balancer_security LEFT OUTER JOIN balancer_securityprice '
'ON (balancer_security.id = balancer_securityprice.security_id '
'AND balancer_securityprice.at_dt="?") '
# 'AND balancer_securityprice.at_dt="%s") '
'ORDER BY balancer_security.name')
from django.db import connection
cursor = connection.cursor()
cursor.execute(qry, [date])
solution = cursor.fetchall()
L'erreur se produit sur la ligne de cursor.execute. Date est une chaîne contenant la valeur 2017-10-05
En outre, le paramètre est mis dans la requête au sein django ou est-il passé à SQLite (ce devrait être% s ou mon espace réservé paramètre?)?
Merci!
'% s' devrait résoudre votre problème. L'as tu essayé? –
Merci pour la suggestion mais% s entraîne l'erreur suivante: ProgrammingError at/balancer/set_security_prices/2017-10-05 Nombre de liaisons incorrect fourni. L'instruction actuelle utilise 0 et il y en a 1 fournies. – Ben
Est-ce que vous faites ceci '"% s "' ou ce '% s'. Utilisez-le sans citation –