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

Python pymssql 模块 查询数据时报错 求解决方法
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 小僵尸打字员 2021-12-30 14:29关注
数据库和表的字符集都改成 utf8mb4, 如下
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()
库名表名都用英文小写, 别用中文
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用