簡體   English   中英

sqlite數據庫不打印數據庫內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM