2015-02-09 95 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;