python 连接sql server 解决中文乱码 及配置使用 web 服务使用

学习python  连接  sql server 及 搭建web  使用 

#coding=utf8
import pymssql



#连接数据库函数
def get_db(sql, typd='select',charset='GB18030'):
    #sql server 配置数据库时候 避免中文乱码   设置编码方式  为 GB18030 即可   插入 需要使用 utf8
    #或者convert(nvarchar(20), mtl_name)    二选一
    connect = pymssql.connect('***.***.***.***', '***', '***', '***',charset=charset) # 服务器名,账户,密码,数据库名   , 最后这个一定要写要不中文就是乱码

    cursor = connect.cursor()
    cursor.execute(sql)
    if typd == 'add':
        connect.commit()  # 提交
        rs = ''
    elif typd == 'select':
        rs = cursor.fetchall()
    print('创建游标')
    try:
        print('提交数据')
        yield rs
    finally:
        print('关闭')
        cursor.close()  # 关闭游标
        connect.close()  # 关闭连接

写成 yeild 的形式   方便调用

查询:

name ='aa00002'

# sql = "insert into wzh_ic_porid_mes (mtl_no,mtl_name,special,uom,qty) values ({},{},{},{},{})".format('aa00002','粉头部','粉色','个',50)
sql ="select *  from wzh_ic_porid_mes where mtl_no ='{0}'".format(name)

getmess = next(get_db(sql, typd='select'))
print(getmess)

此处有个大坑 ,,,,,,,,,,,,就是 一定要 '{}'  引号一定带     然后就是  编码类型要   GB18030   要不查询中文就是就乱码

插入     编码方式这个地方要用 utf8  要不插入就是乱码

sql = "insert into wzh_ic_porid_mes (mtl_no,mtl_name,special,uom,qty) values ('{0}','{1}','{2}','{3}',{4})".format('aa00003','粉头部','粉色','',50)
# sql ="select *  from wzh_ic_porid_mes where mtl_no ='{0}'".format(name)

getmess = next(get_db(sql, typd='add',charset='utf8'))

修改 

sql ="update wzh_ic_porid_mes set mtl_name ='粉1头部' where mtl_no='{}'".format('aa00003')

# sql ="delete from wzh_ic_porid_mes where mtl_no ='{0}' ".format('aa00003')
getmess = next(get_db(sql, typd='add',charset='utf8'))

删除

sql ="delete from wzh_ic_porid_mes where mtl_no ='{0}' ".format('aa00003')
getmess = next(get_db(sql, typd='add',charset='utf8'))

 整体上常用内容如上     编码方式及内容如上

年与时驰,意与日去,遂成枯落, 多不接世,悲守穷庐,将复何及。
原文地址:https://www.cnblogs.com/baili-luoyun/p/14355795.html