Textfeld Inhalt in MySql Datenbank

Fragen zu Tkinter.
Antworten
vierkant
User
Beiträge: 14
Registriert: Sonntag 3. April 2022, 10:24

Hallo liebe Freunde.

mit folgendem Code trage ich in meine mySql Datenbank einen neuen Datensatz:

Code: Alles auswählen

sql = "INSERT INTO optionen VALUES ('test')"

    my_cursor.execute(sql)
    my_db.commit()
wie kann ich anstatt des Strings "test" einen Eintrag aus einem Textfeld

Code: Alles auswählen

brief=tk.Text()
in die Datenbank speichern?

Bedanke mich im Vorfeld für die Hilfe..
lg Jürgen Jürgen
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Mit einem Platzhalter %s und der parametrischen Form vom execute. Da sind Beispiele in der Dokumentation.
vierkant
User
Beiträge: 14
Registriert: Sonntag 3. April 2022, 10:24

Danke für die Antwort.

Mein Versuch scheiterte:

Code: Alles auswählen

brief=tk.Text()
brief.pack()

sql = "INSERT INTO optionen VALUES (%s)"
    val = (brief.get)
    my_cursor.execute(sql, val)
    my_db.commit()
was mach ich da falsch?

lg Jürgen Jürgen
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Warum ein neuer Thread?
Was verstehst Du an den Lösungen im anderen Thread nicht: viewtopic.php?f=18&t=54431#p404179?
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

vierkant hat geschrieben: Montag 11. April 2022, 13:24

Code: Alles auswählen

>
    val = (brief.get)
 
was mach ich da falsch?
Klammern sind zwar das Salz in der Suppe, aber werden nicht einfach verstreut nach gutduenken. get muss schon aufgerufen werden.
vierkant
User
Beiträge: 14
Registriert: Sonntag 3. April 2022, 10:24

ich verstehs nicht...

hab doch ".get" eingefügt
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Vergleiche mal genau, wie Du hier get verwendest mit dem, wie get in dem von mir verlinkten Beitrag verwendet wird.
vierkant
User
Beiträge: 14
Registriert: Sonntag 3. April 2022, 10:24

Also ich verstehs immer noch nicht...

sorry für mein unwissen

liegt es daran weil es ein Textfeld ist und kein Entry?
vierkant
User
Beiträge: 14
Registriert: Sonntag 3. April 2022, 10:24

jetzt hab ichs

Code: Alles auswählen

def mtg_brief_speichern():
    with closing(my_db.cursor()) as cursor:
     cursor.execute("INSERT INTO optionen (brief) VALUES (%s)",[brief.get("1.0", "end")])
     my_db.commit()
Danke für die Geduld
lg Jürgen Jürgen
Antworten