SQLite-Parametersubstitution und Anführungszeichen

Ich habe diese Zeile, die OK funktioniert:

<code>c.execute('select cleanseq from cleanseqs WHERE newID="%s"'%name)
</code>

Aber ich möchte die SQLite-Parameterersetzung anstelle der Zeichenfolgensubstitution verwenden (weil ich sie sehe)Hier dass dies sicherer ist).

Dies ist mein (fehlgeschlagener) Versuch:

<code>t = (name,)
c.execute('select cleanseq from cleanseqs WHERE newID="?"',t)
</code>

Diese Zeile gibt jedoch Folgendes zurück:

'Falsche Anzahl der gelieferten Bindungen. In der aktuellen Anweisung wird 0 verwendet, und es wird 1 angegeben. '

Der linke Teil meiner Aussage funktioniert also nicht. Ich liefere eine Bindung (Name, in t), aber es scheint, dass das Fragezeichen (?) Nicht analysiert wird. Wenn ich die Anführungszeichen lösche, die das? Betreffen, funktioniert es. Aber ich möchte, dass die Zitate dort bleiben, da ich mich erinnere, dass es Fälle gibt, in denen ich sie brauche.

Die Frage ist also: Wie konvertiere ich diese Zeile:

<code>c.execute('select cleanseq from cleanseqs WHERE newID="%s"'%name)
</code>

Antworten auf die Frage(6)

Ihre Antwort auf die Frage