weixin_44532019 2021-12-30 12:47 采纳率: 68.2%
浏览 124
已结题

Python pymssql 模块 查询数据时报错 求解决方法

img


    def SQL_fp_spxxmx(self):  #查询
        djbh = '109920054'
        connect = pymssql.connect(self.ip, self.zh, self.mima, self.shjk,charset='utf8')  # 服务器名,账户,密码,数据库名
        cursor = connect.cursor(as_dict=True)  # 创建数据库游标
        cursor.execute("SELECT  * FROM 吉林东晨药业有限公司.dbo.GQ_DDPF where djbh = '%s' "%djbh)
        shuju = cursor.fetchall()#fetchone   fetchall
        cursor.close()
        connect.close()
        print(shuju)
        return  shuju

  • 写回答

5条回答 默认 最新

  • 小僵尸打字员 2021-12-30 14:29
    关注
    1. 数据库和表的字符集都改成 utf8mb4, 如下

      img

    2. pymysql 连接是可以全局复用的, 你放到init里就可以全局代用了

      def __init__(self):
           self.conn = pymysql.connect(host='127.0.0.1', user='root', passwd="123456", db='user',
                                       port=3306, charset='utf8')
           self.conn.autocommit(1)
      
       def req(self):
           self.conn.ping(reconnect=True)
           cursor = self.conn.cursor(cursor=pymysql.cursors.DictCursor)
      
           djbh = '109920054'
           cursor.execute(f"SELECT  * FROM database.table where djbh = '{djbh}' ")
           data =cursor.fetchall()
           cursor.close()
      
    3. 库名表名都用英文小写, 别用中文

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 1月7日
  • 已采纳回答 12月30日
  • 赞助了问题酬金 12月30日
  • 创建了问题 12月30日

悬赏问题

  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行