我正在尝试存储有关学校学生的数据。我之前做过几张桌子,例如一张密码表和一张Teachers桌子,稍后将它们整合到一个程序中。
我已经从其中之一复制了create table函数,并将其值更改为Pupil的信息。它在其他程序上工作正常,但我不断得到:
sqlite3.OperationalError: no such table: PupilPremiumTable
当我尝试向表中添加瞳孔时,它发生在行上:
cursor.execute("select MAX(RecordID) from PupilPremiumTable")
我在文件夹中查找并且有一个名为的文件,PupilPremiumTable.db
并且该表之前已经创建过,所以我不知道为什么它不起作用。
这是我的一些代码,如果您需要更多的信息,请告诉我,就像我之前说过的那样,所以我不知道为什么它不起作用甚至什么都不起作用:
with sqlite3.connect("PupilPremiumTable.db") as db:
cursor = db.cursor()
cursor.execute("select MAX(RecordID) from PupilPremiumTable")
Value = cursor.fetchone()
Value = str('.'.join(str(x) for x in Value))
if Value == "None":
Value = int(0)
else:
Value = int('.'.join(str(x) for x in Value))
if Value == 'None,':
Value = 0
TeacherID = Value + 1
print("This RecordID is: ",RecordID)
您假设当前的工作目录与脚本所在的目录相同。这不是您可以做的假设。您的脚本正在其他目录中打开一个新数据库,该目录为空。
为数据库文件使用绝对路径。您可以基于脚本的绝对路径:
import os.path
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
db_path = os.path.join(BASE_DIR, "PupilPremiumTable.db")
with sqlite3.connect(db_path) as db:
os.getcwd()
如果您想找出要打开新数据库文件的位置,则可以验证当前工作目录的位置。您可能想要清理在此处创建的多余文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句