SQLite3不止一次打印PYTHON

时间:2015-03-26 22:27:27

标签: python printing sqlite

createDb = sqlite3.connect("hh.db")
queryCurs = createDb.cursor()

def createTable():
    queryCurs.execute(''' CREATE TABLE maths
    (id INTEGER PRIMARY KEY, userName TEXT, score INTERGER)''')

def addCust(userName,):
    queryCurs.execute("""INSERT INTO maths (userName, score)
    VALUES(?,?)""",(userName, score))

def main():
    #createTable()
    addCust("")
    createDb.commit()

    queryCurs.execute("SELECT * FROM maths")

    title = [userName, class_name,"Score:", score,"Out of 10"]
    k = 0
    for i in queryCurs:
      print ("\n")
      for j in i:
          print (title,[k]),
          print (j)
          if k < 3: k+=1
          else: k = 0

queryCurs.close

if __name__ == "__main__":main()

结果=

[<built-in function id>, 'Jack', '10', 'Score:', 0, 'Out of 10'] [0]
5
[<built-in function id>, 'Jack', '10', 'Score:', 0, 'Out of 10'] [1]

[<built-in function id>, 'Jack', '10', 'Score:', 0, 'Out of 10'] [2]
0

我只想要它一次,ID也是一个整数。 还想知道我是否有办法整理输出?

新手所以请完整解释

1 个答案:

答案 0 :(得分:0)

这些代码都没有按照您的想法行事。你永远不会从数据库查询中获得任何东西 - 为此你必须迭代queryCurs.fetchall()

您要打印的内容是一个列表,其中包含您之前定义的一些常量。它是循环的,因为你告诉它,for j in i: