[Python-de] Formatierung von SQL-Statements

Mathias Uebel mathias.uebel at meeloon.de
Fre Jul 9 14:20:02 CEST 2004


Gerhard Häring wrote:
[...]
Vielen Dank für die Hilfe. Jetzt habe ich das:
Um die Spaltenwerte mitzuliefern, habe ich mich für ein Dictionary 
entschieden.

    def SQLInsert( self, table, dict ):     
        columns = ", ".join(dict.keys())       
        values = [self.mytime] + dict.values()
        placeholders = ", ".join(["%s"] * (len(dict)+1))
        sql = """INSERT INTO %(table)s (id,timestamp, %(columns)s)
                VALUES (NULL,%(placeholders)s)""" % locals()
        try:
            self.cu.execute(sql,values)
            self.cx.commit()

Das ist sehr schön kurz und ich kann gut flexibel bleiben.

Danke, Mathias

P.S.: ein überflüssiges ")" aus Deinem Vorschlag hat mich etwas aus der 
Bahn geworfen. Ich muss also noch mehr richtiges Debuggen lernen!

-- 
Lieber lachende Pinguine als tanzende Büroklammern!

CU in www.meeloon.de
--