【问题标题】:SQLite3 Is printing more than once PYTHONSQLite3 不止一次打印 PYTHON
【发布时间】:2015-03-26 22:27:27
【问题描述】:
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 是一个整数。 还想知道是否有办法整理输出?

新手请详细解释

【问题讨论】:

    标签: python printing sqlite


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-11-29
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 2020-10-07
      • 1970-01-01
      • 2022-10-09
      • 2016-10-26
      • 2019-03-20
      相关资源
      最近更新 更多