2015-02-09 50 views
0

我想打印出一些命令在我的數據庫中,但現在它打印出意想不到的答案。讓我先告訴你我的代碼。 x和y是,我需要在我的數據庫進行搜索,並得到一些命令Python函數意外的sqlite3打印輸出結果

x="create vlan" 
y="global" 

def readswitch(x,y): 

    conn = sqlite3.connect('server.db') 
    if conn: 
     cur = conn.cursor() 
     run= cur.execute("SELECT command FROM switch WHERE function =? or type = ? ORDER BY key ASC",(x,y)) 
     read = cur.fetchall() 
     return run; 

import database 
print (database.readswitch(x,y)) 

的事情,但現在的結果如下

C:\Python34\python.exe C:/Users/tommy/PycharmProjects/2015122/database.py 
<sqlite3.Cursor object at 0x0000000002753CE0> 
<sqlite3.Cursor object at 0x0000000002753DC0> 

Process finished with exit code 0 

我沒有看到過這樣的結果! 它有什麼問題?

+3

'返回read',而不是'回報run'? – 2015-02-09 13:41:31

+0

@Jon Clements哇!你非常正確!!!!!!!!!!!!!!!!! – 2015-02-09 13:48:51

回答

0

看來你正在返回光標,而不是讀取開關功能中的獲取數據。 運行對象是沒有必要的

代替

cur = conn.cursor() 
    run= cur.execute("SELECT command FROM switch WHERE function =? or type = ? ORDER BY key ASC",(x,y)) 
    read = cur.fetchall() 
    return run; 

你可能需要

cur = conn.cursor() 
    cur.execute("SELECT command FROM switch WHERE function =? or type = ? ORDER BY key ASC",(x,y)) 
    read = cur.fetchall() 
    return read;