2013-01-14 4 views
1

que je fais quelque chose comme ça dans mon code:Insertion de données JSON à SQLite - OperationalError: jeton non reconnu "{"

import sqlite3 
... 
sqlString=company['name']+","+simplejson.dumps(info) 
cur.execute("INSERT INTO companyInfo VALUES("+sqlString+")") 

mais je reçois l'erreur suivante: cur.execute ("INSERT eN VALEURS companyBlobs (« + valueString + ») ") sqlite3.OperationalError: jeton non reconnu: « { »

Je suppose que cela est un problème avec l'échappement des données JSON, mais ne savez pas comment résoudre. Des idées?

+0

Je sais ce que vous dites, mais je fais un très grand nombre de requêtes à une API et j'ai besoin de tout avoir en JSON avant de traiter les données, donc je stocke temporairement le JSON dans sqlite. – leonsas

Répondre

4

essayer d'utiliser la requête paramétrée:

sqlString=company['name']+","+simplejson.dumps(info) 
cur.execute("INSERT INTO companyInfo VALUES (?)", (sqlString,)) 

ce échapperont automatiquement vos entrées.

Questions connexes