Pernyataan Pilih Berparameter dalam Python Menggunakan pyodbc
Soalan ini membincangkan cara untuk melaksanakan pernyataan SQL SELECT menggunakan pembolehubah sebagai parameter dalam gelung di atas meja yang dipanggil "Throughput." Parameter khusus yang digunakan berbeza-beza bergantung pada atribut "DeviceName" baris.
Percubaan Awal
Pada mulanya, pengguna mencuba kod berikut tanpa berjaya:
for row in cursor.execute("SELECT * FROM Throughput WHERE DeviceName=%s", %(data['DeviceName'])):
Satu lagi percubaan yang tidak berjaya ialah:
for row in cursor.execute("SELECT * FROM Throughput WHERE(DeviceName), values(?)", (data['DeviceName']) ):
Kod Kerja Akhir
Akhirnya, pengguna berjaya menyelesaikan isu dengan coretan berikut:
query = "SELECT * FROM Throughput WHERE DeviceName = '%s'" % data['Device Name'] try: for row in cursor.execute(query):
Pernyataan Berparameter
Pendekatan yang disyorkan ialah menggunakan berparameter kenyataan:
cursor.execute("SELECT * FROM Throughput WHERE DeviceName = ?", data['DeviceName'])
Pendekatan ini menawarkan beberapa kelebihan berbanding percubaan sebelumnya:
Atas ialah kandungan terperinci Bagaimana untuk Selamat Parameter Pernyataan SELECT SQL dalam Python dengan pyodbc?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!