帮我写一个用python和SQLserver的pymssql库建立的影碟租赁管理信息系统,可以实现1)影碟管理:包括影片入库、影片预览、旧影片删除以及用户口令的修改; (2)影碟租借:包括租借影碟、归还影碟以及浏览借出的影片; (3)影碟查询:包括按片名查询、按日期查询以及按主演查询; (4)月租管理:包括等级月租用户和查看月租用户;
时间: 2024-04-08 09:33:38 浏览: 44
当然可以帮你写一个用Python和pymssql库建立的影碟租赁管理信息系统。下面是一个简单的示例代码,实现了你提到的功能:
```python
import pymssql
class DVDManagementSystem:
def __init__(self, server, username, password, database):
self.conn = pymssql.connect(server, username, password, database)
self.cursor = self.conn.cursor()
def __del__(self):
self.conn.close()
def add_dvd(self, title, actor, release_date):
query = "INSERT INTO DVDs (Title, Actor, ReleaseDate) VALUES (%s, %s, %s)"
self.cursor.execute(query, (title, actor, release_date))
self.conn.commit()
def delete_old_dvds(self, days):
query = "DELETE FROM DVDs WHERE ReleaseDate < DATEADD(day, -%s, GETDATE())"
self.cursor.execute(query, (days,))
self.conn.commit()
def modify_user_password(self, username, new_password):
query = "UPDATE Users SET Password = %s WHERE Username = %s"
self.cursor.execute(query, (new_password, username))
self.conn.commit()
def rent_dvd(self, username, dvd_id):
query = "INSERT INTO Rentals (Username, DVDId) VALUES (%s, %s)"
self.cursor.execute(query, (username, dvd_id))
self.conn.commit()
def return_dvd(self, username, dvd_id):
query = "DELETE FROM Rentals WHERE Username = %s AND DVDId = %s"
self.cursor.execute(query, (username, dvd_id))
self.conn.commit()
def get_rented_dvds(self, username):
query = "SELECT DVDs.Title FROM Rentals INNER JOIN DVDs ON Rentals.DVDId = DVDs.Id WHERE Rentals.Username = %s"
self.cursor.execute(query, (username,))
return self.cursor.fetchall()
def search_dvds_by_title(self, title):
query = "SELECT * FROM DVDs WHERE Title LIKE %s"
self.cursor.execute(query, (f'%{title}%',))
return self.cursor.fetchall()
def search_dvds_by_date(self, date):
query = "SELECT * FROM DVDs WHERE ReleaseDate = %s"
self.cursor.execute(query, (date,))
return self.cursor.fetchall()
def search_dvds_by_actor(self, actor):
query = "SELECT * FROM DVDs WHERE Actor LIKE %s"
self.cursor.execute(query, (f'%{actor}%',))
return self.cursor.fetchall()
def get_premium_users(self):
query = "SELECT * FROM Users WHERE UserType = 'Premium'"
self.cursor.execute(query)
return self.cursor.fetchall()
def view_rental_history(self):
query = "SELECT Rentals.Username, DVDs.Title FROM Rentals INNER JOIN DVDs ON Rentals.DVDId = DVDs.Id"
self.cursor.execute(query)
return self.cursor.fetchall()
# 使用示例
system = DVDManagementSystem('server', 'username', 'password', 'database')
# 影碟管理
system.add_dvd('影片1', '演员1', '2022-01-01')
system.add_dvd('影片2', '演员2', '2022-02-01')
system.delete_old_dvds(365)
system.modify_user_password('user1', 'new_password')
# 影碟租借
system.rent_dvd('user1', 1)
system.return_dvd('user1', 1)
rented_dvds = system.get_rented_dvds('user1')
# 影碟查询
dvds_by_title = system.search_dvds_by_title('影片')
dvds_by_date = system.search_dvds_by_date('2022-01-01')
dvds_by_actor = system.search_dvds_by_actor('演员')
# 月租管理
premium_users = system.get_premium_users()
rental_history = system.view_rental_history()
```
请注意,这只是一个简单的示例代码,你可能需要根据你的具体需求进行适当的修改和扩展。另外,你需要正确安装和配置pymssql库,并提供正确的数据库服务器地址、用户名、密码和数据库名称。
阅读全文