安装版本pip install pymssql==2.1.4
大于2.1.4版本乱码,sqlserver2008版本
更好2.1.4版本解决
# 导入Flask类
import json
import os
import pymssql
import traceback
current_dir_path = os.getcwd()
with open(f"{current_dir_path}/configs/setting.json", 'r') as file:
datas = json.load(file)
class Mssql(object):
# 连接库
def base(database):
try:
# 建立连接
connect = pymssql.connect(
host=f'{datas["msip"]}',
port=f'{datas["msport"]}',
user=f'{datas["msuser"]}',
password=f'{datas["mspwd"]}',
database=f'{database}',
charset='utf8',
# charset='GB18030',
as_dict=True,
)
except pymssql.Error as e:
print(f"Error: {e}")
if connect:
# print("数据库连接成功!")
# print("")
na = 1
else:
print("链接失败!")
return connect
# 查询数据
def query(connect,sql):
try:
cursor = connect.cursor()
cursor.execute(sql)
req = cursor.fetchall()
except Exception:
#打印错误信息
traceback.print_exc()
return "出错了"
# print(res)
return req
# 生成凭证
def voucher(connect,sql):
try:
cursor = connect.cursor()
cursor.execute(sql)
except Exception:
#打印错误信息
traceback.print_exc()
return "出错了"
# print(res)
return 1
# 新增,table表,data数据
def inserts(connect, table, data):
# 组装数据
name = ''
val = ''
for v1 in data:
if data[v1] != None:
if name == "":
name = f"{v1}"
val = f"N'{data[v1]}'"
else:
name = f"{name},{v1}"
val = f"{val},N'{data[v1]}'"
insert = f"INSERT INTO {table}({name}) VALUES({val})"
print(insert)
cursor = connect.cursor()
cursor.execute(insert)
return 1
# 修改,table表,data数据,where条件
def updates(connect, table, data, where):
# 组装数据
sql = ''
for v1 in data:
if data[v1] != None:
if sql == "":
sql = f"{v1}='{data[v1]}'"
else:
sql = f"{sql},{v1}='{data[v1]}'"
update = f"UPDATE {table} set {sql} where {where}"
print(update)
cursor = connect.cursor()
cursor.execute(update)
return 1
#删除,table表,where条件
def deletes(connect, table, where):
delete = f"delete from {table} where {where}"
print(delete)
cursor = connect.cursor()
cursor.execute(delete)
return 1
# 关闭连接
def close(conn):
conn.close()