[英]Python and SQLAlchemy Printing Database Contents Using For Loop
[英]sqlite database not printing the contents of the database
createDataBase1 = sqlite3.connect('PythonDatabase_1.db')
queryCurs1 = createDataBase1.cursor()
def createtable():
queryCurs1.execute("""CREATE TABLE Scores
(id INTEGER PRIMARY KEY, Name TEXT, Class TEXT, Score INTERGER)""")
def addPupil1(Name, Class, Score):
queryCurs1.execute("""INSERT INTO Scores (Name, Class, Score)
VALUES(?,?,?)""",(Name, Class, Score,))
def main1():
createtable1()
addPupil1
(Name, Class, Score)
createDataBase1.commit()
queryCurs1.execute("SELECT * FROM Scores ORDER BY Score DESC")
title = ["id","Name", "Class", "Score"]
k = 0
for i in queryCurs1:
print "\n"
for j in i:
print title[k],
print j
if k < 3: k += 1
else: k = 0
queryCurs1.close()
if __name__ == '__main__':main()
這曾經用來打印結果,這不是什么不對嗎? 它曾經以列表格式顯示結果,並且標題位於前面,這沒有什么錯
我自由地更改了您的代碼。 檢查它是否適合您。 我更喜歡將PEP 8用於代碼樣式。 我也將通用記錄插入到數據庫中(將其更改為您需要的任何內容)。
另一方面,我還更改了表的create語句,因為一旦創建了表(兩次運行命令),它就會顯示錯誤,因為已經創建了表。
代碼如下:
import sqlite3
created_db = sqlite3.connect('PythonDatabase_1.db')
cursor = created_db.cursor()
def create_table():
cursor.execute("""CREATE TABLE IF NOT EXISTS Scores
(id INTEGER PRIMARY KEY, Name TEXT, Class TEXT, Score INTERGER)""")
def add_pupil(name, klass, score):
cursor.execute("""INSERT INTO Scores (Name, Class, Score)
VALUES(?,?,?)""",(name, klass, score,))
def main():
create_table()
name = "John Doe"
klass = "Math"
score = 100
add_pupil(name, klass, score)
created_db.commit()
cursor.execute("SELECT * FROM Scores ORDER BY Score DESC")
title = ["id","Name", "Class", "Score"]
k = 0
for i in cursor:
print "\n"
for j in i:
print title[k],
print j
if k < 3: k += 1
else: k = 0
cursor.close()
if __name__ == '__main__':
main()
希望能幫助到你,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.