2016-05-22 4 views
0

Я пытаюсь создать функцию, которая извлекает идентификатор студента, насколько я знаю, sqlite не поддерживает создание функций изначально, поэтому я использовал this в качестве ссылки, однако я могу Понятно, как работает код.Создайте функцию для получения идентификатора из таблицы

Предположим, у меня есть следующая таблица: студенты

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

Я попытался следующие, и, конечно же, он терпит неудачу:

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

Что бы правильный способ реализации функции таких как это?

Благодарим за помощь.

ответ

2

Попробуйте что-то вроде этого

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 - Fixed, спасибо! –

+0

Это сработало, спасибо! Хотя мне пришлось создать новое соединение с базой данных внутри функции, я делаю что-то не так? – Cube

+0

Вам не нужно новое соединение для каждого запроса, вы можете повторно использовать соединения, а также курсоры. просто передайте курсор/соединение с функцией –

Смежные вопросы