pymssql:在没有for循环的情况下访问游标中的数据

pymssql: access data in cursor without for loop

我正在从我的数据库中的单个列中检索单个行。 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 循环的情况下访问游标对象内的数据?

您可以使用 cursor.fetchone()[0] 代替 cursor[0][0]

但是,如果查询未返回任何内容,您将遇到异常。最好像这样 "ugly" 做一些事情:

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