2012-03-17 53 views
3

假設我查詢數據庫這樣的:如何從adodbapi查詢返回的行中獲取列名?

import adodbapi 
conn = adodbapi.connect(connStr) 
tablename = "[salesLT].[Customer]" 

cur = conn.cursor() 

sql = "select * from %s" % tablename 
cur.execute(sql) 

result = cur.fetchall() 

的結果是,我認爲,SQLrow對象序列。

如何獲取查詢返回的列名列表或序列?

我覺得是這樣的:

row = result[0] 
    for k in row.keys(): 
     print(k) 

...但.keys()是不是。

也不.columnNames()

回答

11

cur.description是一個只讀屬性,其中包含7元組看起來像:

 
(name, 
type_code, 
display_size, 
internal_size, 
precision, 
scale, 
null_ok) 

因此,對於列名,你可以這樣做:

col_names = [i[0] for i in cur.description] 

參考:http://www.python.org/dev/peps/pep-0249/

0

還有一個columnNames屬性的集合的SQLrow對象。

所以,

for k in result.columnNames: 
    print(k)