在python上是否可以将sqlite3表中的集合作为变量?
以下是我的简介: 老师想用参加这些测验的学生的成绩来记录他们的表现。这个 系统应存储每个学生的最后三个分数。老师希望能够输出 特定班级的测验结果,分类如下:在python上是否可以将sqlite3表中的集合作为变量?,python,sqlite,Python,Sqlite,以下是我的简介: 老师想用参加这些测验的学生的成绩来记录他们的表现。这个 系统应存储每个学生的最后三个分数。老师希望能够输出 特定班级的测验结果,分类如下: 按字母顺序排列,每个学生的考试最高分数 按最高分,从高到低 按平均分,从高到低 详细分析该计划的需求,并设计、编码、测试和评估 将允许教师选择要查看的班级组以及在排序时使用的字段 输出数据 我以为我能做到,但没用: import sqlite3 new_db = sqlite3.connect('Quiz.db') c = new_d
- 按字母顺序排列,每个学生的考试最高分数
- 按最高分,从高到低
- 按平均分,从高到低
import sqlite3
new_db = sqlite3.connect('Quiz.db')
c = new_db.cursor()
print "Sort Alphabetically"
print ""
c.execute("SELECT * FROM Scores ORDER BY Name ")
new_db.commit()
for row in c:
print row
print ""
print "Sort By Score"
print ""
c.execute("SELECT * FROM Scores ORDER BY -Score3, Score2, Score1 ")
new_db.commit()
for row in c:
print row
NewScore = int(input('Enter Your Newest Score: ')
c.execute("UPDATE Scores SET Name=?, Score1=?, Score2=? Score3=?",
(Name, Score2, Score3, NewScore))
c.execute("SELECT * FROM Scores")
for row in c:
print row
new_db.commit()
new_db.close()
这就是它所说的:
c.execute("UPDATE Scores SET Name=?, Score1=?, Score2=? Score3=?",(Name, Score2, Score3, NewScore))
NameError: name 'Name' is not defined
该表已经生成,因此您的错误与问题的标题或SQL无关。您尝试使用未定义的变量(
Name
、Score2
和Score3
),因此Python会引发namererror
异常。在使用这些变量之前,必须先定义它们
除此之外,脚本还有许多其他问题,第一个也是主要的问题是
update
查询:如果不指定where
子句,它将更新表中的所有现有记录。在关系数据库模式中,每个表必须有一个主键(唯一且明确标识一行的字段或字段组合)。如果没有,则必须创建它,然后如果只想更新一个给定行,则需要在where
子句中使用它。实际上,代码中的任何地方都没有为变量Name
设置值。你希望它包含什么?