以下是我的代码:import sqlite3 conn = sqlite3.connect('C:\\Users\\Dell\\Desktop\\studentsTXL.db') conn.execute('create table if not exists students (stunum primary key,name,number)') #conn.execute('CREATE TABLE students(stunum INT PRIMARY KEY NOT NULL,name TEXT NOT NULL,number INT NOT NULL);') def add_student(): student_number = int(input('请输入学生学号:')) name = input('请输入学生姓名:') number = int(input('请输入学生电话:')) conn.execute(f"insert into sudents (stunum,name,number) values ({student_number},'{name}',{number})") conn.commit() print('学生信息添加成功') def delete_student(): student_number= int(input('请输入要删除的学生学号:')) conn.execute(f"delete from students where stunum={student_number}") conn.commit() print('学生信息删除成功') def modify_student(): student_number = int(input('请输入要修改的学生的学号:')) name = input('请输入学生姓名:') number = int(input('请输入学生电话:')) conn.execute(f"update students set name='{name}', number={number} where stunum={student_number}") conn.commit() print('学生信息修改成功') # 查询学生信息 def query_student(): student_number = int(input('请输入要查询的学生学号:')) cursor = conn.execute(f"select * from students where stunum={student_number}") row = cursor.fetchone() if row is None: print('无学生信息') else: print(f'学生学号:{row[0]},姓名:{row[1]},电话:{row[2]}') # 主程序 while True: print('这是学生信息管理系统') print('1. 添加学生信息') print('2. 删除学生信息') print('3. 修改学生信息') print('4. 查询学生信息') print('5. 退出系统') choice = int(input('请选择要执行的操作:')) if choice == 1: add_student() elif choice == 2: delete_student() elif choice == 3: modify_student() elif choice == 4: query_student() elif choice == 5: break else: print('无此项选择') conn.close(),在运行且输入学生信息后,查询显示无学生信息,请问如何改正
时间: 2024-03-16 09:44:29 浏览: 50
在您的代码中,存在一个拼写错误。在添加学生信息时,您将表名写成了`sudents`而不是正确的`students`。因此,在查询学生信息时会出现错误。将以下代码:
```
conn.execute(f"insert into sudents (stunum,name,number) values ({student_number},'{name}',{number})")
```
更改为:
```
conn.execute(f"insert into students (stunum,name,number) values ({student_number},'{name}',{number})")
```
即可解决该问题。
相关问题
import sqlite3def create_table(): conn = sqlite3.connect('cybercafe.db') c = conn.cursor() c.execute('''CREATE TABLE IF NOT EXISTS customers (id INTEGER PRIMARY KEY, name TEXT, age INTEGER, gender TEXT, balance INTEGER)''') c.execute('''CREATE TABLE IF NOT EXISTS computers (id INTEGER PRIMARY KEY, brand TEXT, model TEXT, status TEXT)''') conn.commit() conn.close()def add_customer(name, age, gender, balance): conn = sqlite3.connect('cybercafe.db') c = conn.cursor() c.execute('''INSERT INTO customers(name, age, gender, balance) VALUES (?, ?, ?, ?)''', (name, age, gender, balance)) conn.commit() conn.close()def get_customers(): conn = sqlite3.connect('cybercafe.db') c = conn.cursor() c.execute('''SELECT * FROM customers''') customers = c.fetchall() conn.close() return customersdef delete_customer(customer_id): conn = sqlite3.connect('cybercafe.db') c = conn.cursor() c.execute('''DELETE FROM customers WHERE id=?''', (customer_id,)) conn.commit() conn.close()def add_computer(brand, model, status): conn = sqlite3.connect('cybercafe.db') c = conn.cursor() c.execute('''INSERT INTO computers(brand, model, status) VALUES (?, ?, ?)''', (brand, model, status)) conn.commit() conn.close()def get_computers(): conn = sqlite3.connect('cybercafe.db') c = conn.cursor() c.execute('''SELECT * FROM computers''') computers = c.fetchall() conn.close() return computersdef delete_computer(computer_id): conn = sqlite3.connect('cybercafe.db') c = conn.cursor() c.execute('''DELETE FROM computers WHERE id=?''', (computer_id,)) conn.commit() conn.close()if __name__ == '__main__': create_table()
这是一个Python程序,用于创建和管理一个名为cybercafe.db的SQLite数据库,其中包含两个表:customers和computers。下面是各个函数的功能:
- create_table(): 创建两个表,如果它们不存在。
- add_customer(name, age, gender, balance): 向customers表中添加一行,包含一个姓名、年龄、性别和余额字段。
- get_customers(): 获取customers表中的所有行。
- delete_customer(customer_id): 从customers表中删除指定id的行。
- add_computer(brand, model, status): 向computers表中添加一行,包含品牌、型号和状态字段。
- get_computers(): 获取computers表中的所有行。
- delete_computer(computer_id): 从computers表中删除指定id的行。
如果这个程序被当做主程序运行,它会调用create_table()函数来创建表。
def update(id, password): buildDB() conn = sqlite3.connect('USER.db') cur = conn.cursor() cur.execute('''UPDATE users SET user_password = ? WHERE user_id = ?;''',(password, id)) conn.commit() conn.close()
这是一个 Python 函数,用于更新 SQLite3 数据库中用户的密码。此函数接受两个参数,分别是用户 ID 和新密码。它首先调用 buildDB() 函数以确保数据库存在,并连接到名为 USER.db 的 SQLite3 数据库。然后,它使用传递给函数的参数在 users 表中更新用户的密码。最后,它提交更改并关闭数据库连接。
请注意,此函数需要 SQLite3 模块的支持。如果该模块未安装,请先安装它,然后才能运行此函数。
阅读全文
相关推荐

















