홈>
변수를 사용하여 쿼리를 만들려고하는데 문자열 변수가 작동하지 않습니다. 쿼리에서 변수PrimaryAxis및SecondaryAxis를 어떻게 형식화해야합니까? https://github.com/mkleehammer/pyodbc/wiki의 참조를 사용했습니다./Getting-started # parameters 페이지에는 작은 따옴표가 사용됩니다. 운없이 작은 따옴표와 큰 따옴표를 시도했습니다.
import pyodbc
# Connect to database
conn_str = (
r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'
r'DBQ=C:\Temp\TestDB.accdb;'
r'Uid=;'
r'Pwd=;'
)
# Make cursor
connection = pyodbc.connect(conn_str)
connection.setencoding('utf-8')
cursor = connection.cursor()
# Create test table
cursor.execute("CREATE TABLE Coordinates (ID integer, X integer, Y integer)")
connection.commit()
# Create test data (Error "Missing semicolon (;)" if multiple values in one insert, thats why multiple insertions... not the main question)
cursor.execute("INSERT INTO Coordinates (ID, X, Y) VALUES (1,10,10);")
cursor.execute("INSERT INTO Coordinates (ID, X, Y) VALUES (2,20,10);")
cursor.execute("INSERT INTO Coordinates (ID, X, Y) VALUES (3,30,10);")
connection.commit()
# Filter parameters
Line = 10
Start = 10
End = 30
# Works
cursor.execute(r"""
SELECT *
FROM Coordinates
WHERE Y = ? AND X BETWEEN ? AND ? """, Line, Start, End )
rows = cursor.fetchall()
for row in rows:
print(row)
# does not work - main question
PrimaryAxis = 'X'
SecondaryAxis = 'Y'
cursor.execute(r"""
SELECT *
FROM Coordinates
WHERE ? = ? AND ? BETWEEN ? AND ? """, SecondaryAxis, Line, PrimaryAxis, Start, End )
rows = cursor.fetchall()
for row in rows:
print(row)
- 답변 # 1
관련 자료
- 변수가있는 Splunk Cloud 검색 쿼리가 결과를 반환하지 않음
- Python Qt5 - python qt5 - mysql 쿼리에 대한 변수 전달
- HUE를 사용하여 Impala 쿼리에서 변수를 어떻게 설정합니까?
- mysql - 내부 변수가있는 쿼리가 코드 분석에서 오류를 발생시킵니다
- python - query 함수에서 변수 사용
- C #에서 mysql 쿼리를 만들고 변수에 저장하는 방법은 무엇입니까?
- python - 선택 쿼리 문제 (Pyodbc)
- php - 쿼리 후 내 변수가 비어 있거나 null인지 확인하는 방법 - laravel
- python - SQL 쿼리에서 정수 변수를 사용하는 방법
- vbscript - VBS의 WMI 서비스 쿼리에서 변수 이름을 사용하는 방법
- 변수 SQL 서버에서 쿼리 문 케이스를 만드는 방법
- sql - 쿼리에서 동일한 열 변수가 여러 번 발생 함
- php - TWIG를 사용하여 SQL 쿼리의 변수 열에 주소를 지정하는 방법
- excel - 쿼리에서 문자열 변수에 어떤 형식을 사용합니까
데이터베이스 자리 표시자를 간단히 사용할 수 있습니다 :