校友会管理系统中的信息处理与实现
2024-11-28 14:35
用户: 我们需要构建一个校友会管理系统,你有什么建议吗?
助手: 当然可以。我们可以使用Python语言配合SQLite数据库来搭建这个系统。首先,我们需要定义数据库表结构。
用户: 好的,那我们从哪里开始呢?
助手: 我们可以从创建数据库和表开始。这里是一个简单的Python脚本,用于创建一个名为`alumni.db`的数据库,并在其中创建一个`members`表:
import sqlite3 def create_database(): conn = sqlite3.connect('alumni.db') c = conn.cursor() # 创建成员表 c.execute(''' CREATE TABLE IF NOT EXISTS members ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, email TEXT UNIQUE, graduation_year INTEGER ) ''') conn.commit() conn.close() if __name__ == '__main__': create_database()
这段代码将创建一个包含`id`, `name`, `email`, 和 `graduation_year`字段的表。
用户: 这样我们就有了基本的数据存储结构。接下来我们需要考虑如何添加新的校友信息。
助手: 是的,我们可以通过编写一个函数来添加新成员的信息。这里是一个示例代码:
def add_member(name, email, year): conn = sqlite3.connect('alumni.db') c = conn.cursor() try: c.execute('INSERT INTO members (name, email, graduation_year) VALUES (?, ?, ?)', (name, email, year)) conn.commit() print("校友信息添加成功!") except sqlite3.IntegrityError: print("邮箱地址已存在,请检查输入。") finally: conn.close() # 示例调用 add_member('张三', 'zhangsan@example.com', 2010)
这里我们使用了一个异常处理来确保如果邮箱地址已经存在于数据库中,则不会重复添加。
用户: 太棒了,这样我们就有了基本的功能。那么查询功能呢?
助手: 查询功能也很重要。我们可以通过以下代码来实现基于姓名或毕业年份的查询:
def search_member(query, value): conn = sqlite3.connect('alumni.db') c = conn.cursor() if query == 'name': c.execute('SELECT * FROM members WHERE name=?', (value,)) elif query == 'year': c.execute('SELECT * FROM members WHERE graduation_year=?', (value,)) rows = c.fetchall() for row in rows: print(row) conn.close() # 示例调用 search_member('name', '张三') search_member('year', 2010)
这样,我们就可以根据姓名或毕业年份来查找校友信息了。
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!
标签:校友会管理系统