本例程是python3编写的sqlite数据库操作的通用工具,返回查询数据格式为json,可用作jsonrpc调用。
import sqlite3
#是否打印sql
SHOW_SQL = True
def sqloperate(dbname, sql, data): #data为元组组成的数组
errmsg=""
ret=[]
print("sql:",sql)
print("data:",data)
print("dbname:",dbname)
try:
conn = sqlite3.connect(dbname)
conn.row_factory = sqlite3.Row
cu = conn.cursor()
if len(data) > 0:
for d in data:
if SHOW_SQL:
print('执行sql:[{}],参数:[{}]'.format(sql, d))
cu.execute(sql, d)
# cu.executemany(sql,d) #可根据需要选用,提高效率
else:
# print("sql:",sql)
cu.execute(sql)
operstr = str(sql).split(' ',1)[0].upper()
print(operstr)
if operstr in {"INSERT","UPDATE","DROP","CREATE","DELETE"}:
con