python函数与意外的sqlite3打印输出结果

时间:2015-02-09 13:38:54

标签: python sqlite

我正在尝试在我的数据库中打印出一些命令,但现在它打印出意想不到的答案。我先告诉你我的代码。 x和y是我需要在我的数据库中搜索并获得一些命令的东西

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

之前我没有看到这个结果! 这是什么问题?

1 个答案:

答案 0 :(得分:0)

您的readwitch函数似乎正在返回光标而不是获取的数据。 根本不需要运行对象

而不是

  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;