栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python查询数据库数据时出现id = row[0] KeyError: 0

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python查询数据库数据时出现id = row[0] KeyError: 0

在自习python数据库时,写的数据库连接文件dao.py

import pymysql  #导入pymysql模块

#定义一个连接对象
conn=pymysql.connect(
    host='127.0.0.1',
    port=3308,
    user='root',
    password='root',
    charset='utf8',          #这里不能写utf-8   语法规范
    database='test'
)
#定义游标对象
cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)

在需要用到数据库的文件处添加

from Dao.dao import cursor

结果在遍历数据库数据时报错,不存在row[0]

代码为:

import pymysql

from Dao.dao import cursor, conn


# SQL 查询语句
sql = "SELECt * FROM user"
cursor.execute(sql)
   # 获取所有记录列表
results = cursor.fetchall()
for row in results:
    id = row[0]
    username = row[1]
    password = row[2]
      # 打印结果
    print ("fname=%s,lname=%s,age=%s" % 
             (id, username, password))


# 关闭数据库连接
conn.close()

多次试验后发现报错语句为dao.py中的

#定义游标对象
cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)

修改后代码为:

import pymysql

conn=pymysql.connect(
    host='127.0.0.1',
    port=3308,
    user='root',
    password='root',
    charset='utf8',          #这里不能写utf-8   语法规范
    database='test'
)
# 使用cursor()方法获取操作游标
cursor = conn.cursor()

# SQL 查询语句
sql = "SELECt * FROM user"
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 获取所有记录列表
   results = cursor.fetchall()
   for row in results:
      id = row[0]
      username = row[1]
      password = row[2]
      # 打印结果
      print ("ide=%s,username=%s,password=%s" % 
             (id, username, password))
except:
   print ("Error: 查询失败")

# 关闭数据库连接
conn.close()

控制台成功打印数据

显示到tk页面

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/929449.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号