2015-06-24 2 views
0

Я извлекаю одну строку из одного столбца в моей базе данных. Документация pymssql использует только циклы для доступа к данным в курсоре.pymssql: данные доступа в курсоре без цикла

conn = pymssql.connect(server, user, password, "tempdb") 
cursor = conn.cursor() 
cursor.execute('SELECT %s', 'Foo') 

#This works but it's ugly 
for row in cursor: 
    print row[0] 
    break 

#The following throws an error 
print cursor[0][0] 

conn.close() 

Есть ли способ, чтобы получить доступ к данным внутри объекта курсора без for цикла?

ответ

1

Вы можете использовать cursor.fetchone()[0] вместо cursor[0][0].

Однако, если ничего не возвращается из запроса, вы получите исключение. Лучше сделать что-то «уродливое» следующим образом:

row = cursor.fetchone() 
if row: 
    print row[0] 
+0

Отлично. Похоже, что они обновили свои документы. Это первый пример на этой странице ... http://pymssql.org/en/latest/pymssql_examples.html В моем случае использования всегда должны быть данные, возвращаемые из рассматриваемой таблицы. Если в таблице нет строк, то создание исключения будет желательным. – abaldwin99

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