作者:jackystorm岁月_657 | 来源:互联网 | 2023-05-25 11:20
我想在学校存储有关学生的数据.我以前做了几张桌子,比如密码和教师用的一张桌子,我稍后会把它们放在一个程序中.
我几乎从其中一个复制了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)
Martijn Piet..
39
您假设当前工作目录与脚本所在的目录相同.这不是您可以做出的假设.您的脚本正在另一个目录中打开一个新数据库,该目录为空.
使用数据库文件的绝对路径.您可以将其基于脚本的绝对路径:
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()
如果要确定打开新数据库文件的位置,可以验证当前工作目录的用途; 你可能想要清理你在那里创建的额外文件.
1> Martijn Piet..:
您假设当前工作目录与脚本所在的目录相同.这不是您可以做出的假设.您的脚本正在另一个目录中打开一个新数据库,该目录为空.
使用数据库文件的绝对路径.您可以将其基于脚本的绝对路径:
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()
如果要确定打开新数据库文件的位置,可以验证当前工作目录的用途; 你可能想要清理你在那里创建的额外文件.