你好,我正在用python和sqlite3做小项目,
因此,我有一个YPSurvey_Final类,该类具有预定义的值,可以连接到名为YoungPeopleFinal.db的数据库。
这是类文件的代码-
import sqlite3
class YPSurvey_Final:
def __init__(self, database):
self.__databaseName = database
self.__conn = sqlite3.connect(database)
self.__cur = self.__conn.cursor()
def getNumberOfEachPhobia(self):
"""Returns the total number of people who took the survey"""
self.__cur.execute("SELECT Phobia, COUNT(*) FROM Phobias GROUP BY Phobia ORDER BY Phobia")
for row in self.__cur:
self.__phobiaList.append(row)
return self.__phobiaList
我的问题是,它仅打印数据库中的一个值(Storm,123),并且还有9种恐惧症可供打印。
我尝试在单独的文件中使用此代码,并且按预期工作正常
import sqlite3
conn = sqlite3.connect('YoungPeopleFinal.db')
cur = conn.cursor()
cur.execute("SELECT Phobia, COUNT(*) FROM Phobias GROUP BY Phobia ORDER BY Phobia")
for row in cur:
print (row)
cur.close()
conn.close()
所以我需要帮助找出打印所有值的方式。
该数据库具有所有值,并且100%正常工作并且正确,因此它不是数据库错误。
这就是我叫班级文件的方式
from YPSurvey_Final import YPSurvey_Final
def main():
base = YPSurvey_Final("YoungPeopleFinal.db")
print (base.getNumberOfEachPhobia())
main()