zoukankan      html  css  js  c++  java
  • python sqlserver的封装


    from do_config import cfg #将数据库的信息写到配置文件读取
    import pymssql


    class HandleSqlSever:
    def __init__(self):
    self.conn = pymssql.connect(host = cfg.get_values('sql_server','host'),
    user = cfg.get_values('sql_server','user'),
    password = cfg.get_values('sql_server','password'),
    database = cfg.get_values('sql_server','database'),
    charset = cfg.get_values('sql_server','charset'),
    autocommit=False

    )


    self.cur = self.conn.cursor()

    def query_sql(self,sql,args=None,is_all=False):
    """
    查询sql
    :param sql:
    :param args:
    :param is_all:
    :return:
    """
    self.cur.execute(sql,args)
    if is_all:
    return self.cur.fetchall()
    else:
    return self.cur.fetchone()

    def insert_update_delete(self,sql,val):
    """
    增删改
    :param sql:
    :return:
    """
    try:
    self.cur.execute(sql,val)
    except Exception as e:
    print("执行增删改{}有错,错误是{},需要回滚".format(val,e))
    self.conn.rollback()
    # 增删改操作有误时回滚操作
    else:
    self.conn.commit()
    print("事务提交成功")

    def close_mysql(self):
    self.cur.close()
    self.conn.close()


    if __name__ == '__main__':
    data =HandleSqlSever()
    #sql ="""select testId from T_Test where sourceName='江苏省人民医院'"""
    #result = data.query_sql(sql,is_all=True)
       ts = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())

    sql = "INSERT INTO T_PA_UserGroupMap (userId, groupId,spId,creatorId,createdAt) VALUES (%s, %s,21,100664773,%s)"
    val = ("100668149", 355, ts)
    data.insert_update_delete(sql,val)
       data.close_mysql()
  • 相关阅读:
    MYSQL 神奇的操作insert into test select * from test;
    mysql排序字段为空的排在最后面
    Redis有效时间设置及时间过期处理
    Dom4j 使用简介
    ASP.NET中使用多个runat=server form(转)
    谨以此文献给才毕业25年的朋友(转)
    门户网站
    庄思浩和BEA公司
    是什么限制了我们面向对象(的开发) (转)
    模态窗口和非模态窗口
  • 原文地址:https://www.cnblogs.com/fyangq/p/12516193.html
Copyright © 2011-2022 走看看