测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A40296. 小强建立了一个简易的学生信息系统, 使用 SQlite 进行数据的增加记录和修改记录操作, 存储数据, 每位学生的记录包含 id、 name 和 age 这 3 个字段。 程序运行界面如图所示。程序运行时, 显示数据库 students.db 中的数据表 users 中的所有记录, 用户输入 1 表示增加记录, 输入 id、 name 和 age 后, 记录将增加到数据库中。 用户输入 2 表示…

填空题 困难

题目描述

小强建立了一个简易的学生信息系统, 使用 SQlite 进行数据的增加记录和修改记录操作, 存

储数据, 每位学生的记录包含 id、 name 和 age 这 3 个字段。 程序运行界面如图所示。

程序运行时, 显示数据库 students.db 中的数据表 users 中的所有记录, 用户输入 1 表示增加

记录, 输入 id、 name 和 age 后, 记录将增加到数据库中。 用户输入 2 表示修改记录, 输入

id、 name 和 age 后, 根据 id 修改对应的 name 和 age 的值。

程序代码如下:

import sqlite3

con = sqlite3.connect('students.db')

cursor = con.cursor()

cursor.execute('''CREATE TABLE IF NOT EXISTS users( id int(8) primary key,name varchar(18),age int(8))''')

cursor.close()

con.commit()

con.close()


def user_insert(user_id, user_name, user_age):

con = sqlite3.connect('students.db')

cursor = con.cursor()

cursor.execute("insert into users (id,name,age) values (?,?,?)", (user_id, user_name,user_age))

cursor.close()

con.commit()

con.close()

def user_select():

con = sqlite3.connect(' ① ')

cursor = con.cursor()

② ('select * from users')

print(cursor.fetchall())

cursor.close()

con.close()

def user_update(user_id, user_name, user_age):

con = sqlite3.connect('students.db')

cursor = con.cursor()

cursor.execute('UPDATE users SET name=?,age=? WHERE id =?',(user_name,

user_age,user_id))

cursor.close()

con.commit()

con.close()

print("------------学生信息系统样例------------")


while True:

③

s = int(input("请输入操作符: 1-增加记录,2-修改记录,3-退出系统"))

if ④ :

break

user_id = int(input("请输入 id:"))

user_name = input("请输入 name:")

user_age = input("请输入 age:")

if s == 1: # 增加记录

⑤

print("插入成功! ")

elif s == 2: # 修改记录

user_update(user_id, user_name, user_age)

print("修改成功! ")

请在画线处填入正确的代码。

参考答案

import sqlite3 # 导入 con = sqlite3.connect('students.db') cursor = con.cursor() cursor.execute(''' CREATE TABLE IF NOT EXISTS users( id int(8) primary key, name varchar(18), age int(8)) ''') cursor.close() con.commit() con.close() def user_insert(user_id, user_name, user_age): con = sqlite3.connect('students.db') cursor = con.cursor() cursor.execute("insert into users (id,name,age) values (?,?,?)", (user_id, user_name, user_age)) cursor.close() con.commit() con.close() def user_select(): # 定义 user_select 函数, 用于读取学生数据 con = sqlite3.connect(' students.db ') # 连接 students.db cursor = con.cursor() # 创建游标 cursor.execute ('select * from users') # 执行 SQL 语句 print(cursor.fetchall()) # 获取所有数据 cursor.close() # 关闭游标 con.close() # 关闭连接 def user_update(user_id, user_name, user_age): con = sqlite3.connect('students.db') cursor = con.cursor() cursor.execute('UPDATE users SET name=?,age=? WHERE id =?',(user_name, user_age,user_id)) cursor.close() con.commit() con.close() print("------------学生信息系统样例------------") while True: user_select() # 读取数据 s = int(input("请输入操作符: 1-增加记录,2-修改记录,3-退出系统")) # 输入操作符 if s == 3 : # 选择 3 代表退出系统 break user_id = int(input("请输入 id:")) # 输入 user_id user_name = input("请输入 name:") # 输入 user_name user_age = input("请输入 age:") # 输入 user_age if s == 1: # 增加记录 user_insert(user_id, user_name, user_age) # 调用插入函数 print("插入成功! ") # 显示插入成功信息 elif s == 2: # 修改记录 user_update(user_id, user_name, user_age) # 调用 user_update 函数 print("修改成功! ") # 显示修改成功信息

答案解析

评分标准:

(1) students.db; (2 分)

(2) cursor.execute; (2 分)

(3) user_select(); (2 分)

(4) s == 3; (2 分)

(5) user_insert(user_id, user_name, user_age)。(2 分)

上一题 下一题