info = "'MASUKKAN KE DALAM rekod_kad_berus(tarikh_kad_berus, masa_kad_berus, nombor_kad_6061, nombor_kad_6654) NILAI(?,?,?,?)',('2017-05-28','12:23:32', 123, 0) "
cur.execute(info)
Ini akan melaporkan ralat: sqlite3.OperationalError
cur.execute('INSERT IN TO brush_card_record(brush_card_date, brush_card_time, card_num_6061, card_num_6654) NILAI(?,?,?,?)',('2017-05-28','12:23:32', 123, 0 ))
Ini akan berjaya.
cur.execute mempunyai dua parameter, satu ialah SQL, dan satu lagi adalah untuk menghantar nilai kepada parameter SQL Ayat pertama anda yang disertakan dalam petikan berganda adalah bersamaan dengan rentetan, iaitu parameter dan parameter kedua bukan. lulus dalam
info = "MASUKKAN KE DALAM rekod_kad_berus(tarikh_kad_berus, masa_kad_berus, nombor_kad_6061, nombor_kad_6654) NILAI(%s,%s,%s,%s)"%('2017-05-28','12:23:32', 123 , 0)
或者str.format
Soalan telah ditemui, terima kasih atas jawapannya!
Apabila memasukkan data baharu ke dalam jadual pangkalan data adalah dinamik, cara yang lebih baik ialah menjana str dahulu dan kemudian menghantarnya ke cur.execute() sebagai parameter.
Contoh kod: