2017-03-08 7 views
0

を得ることから選択します。Pythonの私は次のクエリ書いているSQLがエラー

Traceback (most recent call last): File "../ppp.py", line 38, in for row in cursor.execute(SQLp1z): pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][\xc4\xf0\xe0\xe9\xe2\xe5\xf0 ODBC Microsoft Access] \xcd\xe5\xee\xef\xf0\xe5\xe4\xe5\xeb\xe5\xed\xed\xe0\xff \xf4\xf3\xed\xea\xf6\xe8\xff 'convert' \xe2 \xe2\xfb\xf0\xe0\xe6\xe5\xed\xe8\xe8. (-3102) (SQLExecDirectW)")

何私のコードに誤りだと私は何をする必要があります:私は次のエラーを取得しています

x1 = 5 
y1 = 6 
z1 = 0 
SQL = ("SELECT Z FROM Points WHERE X =x1 AND Y = y1") 
    for row in cursor.execute(SQL): 
     z1 = row.Zcor 

をこれが起こらないようにするには?

+0

あなたは、forループのためにオフ間隔またはあなたがここでそれをコピーしただけでどのようにということですか? –

+0

これを見て、クエリ文字列に変数を正しく含めていないようです。 http://stackoverflow.com/questions/902408/how-to-use-variables-in-sql-statement-in-python – Will

答えて

0

あなたの問題は、文字列に変数を正しく含めていないことです。使用文字列は書式設定:

SQL = ("SELECT Z FROM Points WHERE X ={x1} AND Y ={y1}".format(x1=x1, y1=y1) 

やPython 3.6で:

SQL = (f"SELECT Z FROM Points WHERE X ={x1} AND Y ={y1}") 
関連する問題