2016-05-22 7 views
0

Ich versuche, eine Funktion zu erstellen, die die ID eines Studenten abruft, soweit ich weiß sqlite unterstützt nicht die Erstellung von Funktionen nativ, so dass ich this als Referenz verwendet, aber ich kann verstehe nicht, wie der Code funktioniert.Create Funktion zum Abrufen der ID aus Tabelle

Angenommen, ich habe die folgende Tabelle: Studenten

id | name 
-------------------- 
1 | Jane Appleseed 
2 | John Doe 

ich folgende versucht und, natürlich, es scheitert:

def getCourseID(s): 
    return cur.execute('SELECT id FROM students WHERE name = ? ', (s,)) 

Was den richtigen Weg wäre, eine Funktion zu implementieren wie das?

Danke für Ihre Hilfe. Feste, dank -

Antwort

2

so etwas wie dieses

def getCourseID(s): 
    cur.execute('SELECT id FROM students WHERE name = ? ', (s,)) 
    results = list(cur) 
    if results: 
     return results[0][0] 
    return None # nothing was found... 
+0

@CL Versuchen Sie es! –

+0

Es hat funktioniert, danke! Obwohl ich innerhalb der Funktion eine neue Verbindung zur Datenbank erstellen musste, mache ich da etwas falsch? – Cube

+0

Sie benötigen keine neue Verbindung für jede Abfrage, Sie können Verbindungen und auch Cursor wiederverwenden. Übergeben Sie einfach einen Cursor/eine Verbindung an die Funktion –

Verwandte Themen