autsch, troubles mit NULL

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Für mich sieht das sehr umständlich aus, außerdem verwende ich generell kein locals()... Hier mal eine Version, die das selbe machen sollte:

Code: Alles auswählen

    def insertTableColumnsData(self,colList,valueList):
        sql = "insert into tfoo (%(cols)s) values (%(placeholders)s)" % {
            "cols"          = ", ".join(colList),
            "placeholders"  = ", ".join(["%s"] * len(colList))
        }
        self.con.cursor().execute(sql, tuple(valueList))
        self.con.commit()
Ich hab auch mal valueList nach tuple konvertiert. Ich weiß allerdings nicht ob das zwingend notwendig ist.

EDIT: oder einfach so:

Code: Alles auswählen

    def insertTableColumnsData(self,colList,valueList):
        sql = "insert into tfoo (%s) values (%s)" % [
            ", ".join(colList), ", ".join(["%s"] * len(colList))
        ]
        self.con.cursor().execute(sql, tuple(valueList))
        self.con.commit()

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Gast

hi jens,

danke für deine beispiele, werde ich sicherlich in ruhe ausprobieren.
was das umständlich betrifft, sehe ich jetzt keine wesentliche unterschiede.
einfacher siehts nur aus, wenn man es falsch macht, wie ich es ursprünglich gemacht habe :D, lieber habe ich es aber richtig.

kurzum, auf den ersten blick, sieht mir das einfach nach einer geschmacksfrage aus, ob man deine oder tabellars version nimmt.

vielleicht sehe ich aber die tatsächlichen vorteile deiner version auch noch nicht.

bis bald

rolgal
Antworten