2017-06-20 8 views
0

J'utilise Pyodbc et je suis connecté à une base de données. Je peux facilement extraire des données où j'utilise simplement les instructions SELECT et FROM.Pyodbc - Exécution d'une requête SQL avec la clause WHERE (erreurs de syntaxe)

Cependant, lorsque je tente d'utiliser une clause WHERE il jette les erreurs de syntaxe:

Voici le code:

import pyodbc 

conn = pyodbc.connect('DSN=QueryBuilder') 
cursor = conn.cursor() 
cursor.execute('SELECT * FROM dbo.Grantinformation WHERE HoldingOrganisationName = 'university of edinburgh'') 

Je reçois cette erreur:

SyntaxError: invalid syntax

Si je cours :

SELECT * 
FROM dbo.Grantinformation 
WHERE HoldingOrganisationName = 'university of edinburgh' 

Dans SQL Server Management Studio, le SQL fonctionne bien, donc c'est évidemment quelque chose que je fais mal avec pyodbc?

Un grand merci

Répondre

2

Non, ceci est une simple erreur de syntaxe de Python. Vous avez des guillemets simples dans votre chaîne sql, donc vous devez utiliser des guillemets autour de la chaîne elle-même:

cursor.execute("SELECT * FROM dbo.Grantinformation WHERE HoldingOrganisationName = 'university of edinburgh'") 
+0

Oups! Merci Daniel! – ScoutEU