询问一个物品借出或归还,物品状态如何自动发生变化
要实现图书状态自动从闲置中变成出借中,可以使用以下步骤:
以下是一个简单的示例代码,使用Python和SQLite数据库实现上述操作:
import sqlite3
from datetime import datetime
# 连接到数据库
conn = sqlite3.connect('library.db')
cursor = conn.cursor()
# 创建图书借阅记录表
cursor.execute('''CREATE TABLE IF NOT EXISTS borrow_records
(book_id INTEGER, borrower_id INTEGER, borrow_date DATETIME, return_date DATETIME)''')
# 借阅图书函数
def borrow_book(book_id, borrower_id):
# 插入借阅记录
cursor.execute("INSERT INTO borrow_records (book_id, borrower_id, borrow_date) VALUES (?, ?, ?)", (book_id, borrower_id, datetime.now()))
# 更新图书状态为出借中
cursor.execute("UPDATE books SET status = '出借中' WHERE id = ?", (book_id,))
conn.commit()
# 归还图书函数
def return_book(book_id):
# 更新归还日期
cursor.execute("UPDATE borrow_records SET return_date = ? WHERE book_id = ?", (datetime.now(), book_id))
conn.commit()
# 检查归还日期是否已更新,如果是,则将图书状态更新为闲置
cursor.execute("SELECT return_date FROM borrow_records WHERE book_id = ?", (book_id,))
result = cursor.fetchone()
if result[0] is not None:
cursor.execute("UPDATE books SET status = '闲置' WHERE id = ?", (book_id,))
conn.commit()
# 示例用法
borrow_book(1, 1001) # 借阅图书,假设图书ID为1,借阅人为1001
return_book(1) # 归还图书,假设图书ID为1
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。