db = pymysql.connect(host="localhost", user="root", passwd="123456", db="room_db") if self.student_id.get() != '': db = pymysql.connect(host="localhost", user="root", passwd="123456", db="room_db") cursor = db.cursor() sql = "SELECT * FROM 学生住宿信息表 WHERE 学号 = '%s'" % (self.student_id.get()) # SQL 插入语句 try: cursor.execute(sql) results = cursor.fetchall() for row in results: self.id = '学号:' + row[0] self.name = '姓名:' + row[1] self.gender = '性别:' + row[2] self.age = '年龄:' + row[3] self.num ='电话:' + row[4] self.build = '公寓号:' + row[5] self.room = '宿舍号:' + row db.commit() label = tk.Label(self.window, text='学生信息查看', bg='SkyBlue', font=('楷体', 20), width=50, height=2) label.pack(pady=40) Label(self.window, text=self.id, font=('楷体', 17)).pack() Label(self.window, text=self.name, font=('楷体', 17)).pack() Label(self.window, text=self.gender, font=('楷体', 17)).pack() Label(self.window, text=self.age, font=('楷体', 17)).pack() Label(self.window, text=self.num, font=('楷体', 17)).pack() Label(self.window, text=self.build, font=('楷体', 17)).pack() Label(self.window, text=self.room, font=('楷体', 17)).pack() Button(self.window, text="返回首页", width=8, font=tkFont.Font(size=12), command=self.back_1).pack(pady=120) self.window.protocol("WM_DELETE_WINDOW", self.back_1) self.window.mainloop() except: db.rollback() messagebox.showinfo('提示', '数据库连接失败!') db.close() else: messagebox.showinfo('提示', '请填写学生信息!') 为什么运行就显示数据库连接失败
时间: 2024-04-16 12:29:39 浏览: 114
运行时出现数据库连接失败的错误可能有多种原因。以下是一些常见的问题和解决方法:
1. 数据库配置错误:请确保你的数据库配置正确。检查主机名、用户名、密码和数据库名称是否正确,确保数据库服务器正在运行。
2. 缺少数据库驱动程序:确保你已经安装了pymysql库,并且版本与你的Python环境兼容。你可以通过运行`pip install pymysql`来安装pymysql。
3. 数据库访问权限问题:确保你使用的数据库用户具有足够的权限来连接数据库和执行查询操作。如果你使用的是MySQL数据库,请确保用户具有正确的访问权限。
4. 数据库服务未启动:如果你使用的是本地数据库服务器,请确保它已经启动。你可以尝试在终端中运行`mysql -u root -p`命令来测试连接。
5. 防火墙或网络问题:某些防火墙或网络配置可能会阻止与数据库服务器的连接。请确保你的网络连接正常,并且没有任何阻止数据库访问的限制。
如果你仍然无法解决问题,请提供更多的错误信息和上下文,以便我能够更好地帮助你排除故障。
相关问题
db = pymysql.connect(host="localhost", port=3306, user="root", passwd="123456", database="navy")
这是一个使用Python操作MySQL数据库的代码示例。其中,pymysql是Python操作MySQL数据库的库,connect()方法用于连接MySQL数据库,其中host表示MySQL服务器的IP地址,port表示MySQL服务器的端口号,user表示连接MySQL数据库的用户名,passwd表示连接MySQL数据库的密码,database表示要连接的数据库名称。在这个示例中,它连接到名为"navy"的数据库。
需要注意的是,这个示例只是一个连接MySQL数据库的例子,并不涉及具体的数据操作。如果需要对这个数据库进行查询、插入、更新等操作,还需要编写相应的SQL语句,并使用pymysql库提供的方法来执行SQL语句。
db = pymysql.connect
这是 Python 中使用 PyMySQL 模块连接 MySQL 数据库的代码。需要先安装 PyMySQL 模块才能使用。
```
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="password", database="test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()
```
其中,需要根据实际情况修改 host、user、password、database 等参数。
阅读全文