天天看點

呵呵,Python操作MSSQL的幫助類

從網上找的,估計原文是:Python操作SQLServer示例 

本文主要是Python操作SQLServer示例,包括執行查詢及更新操作(寫入中文)。

需要注意的是:讀取資料的時候需要decode('utf-8'),寫資料的時候需要encode('utf-8'),這樣就可以避免煩人的中文亂碼或報錯問題。

Python操作SQLServer需要使用pymssql子產品,使用pip install pymssql安裝即可。

此外代碼中使用的封裝MSSQL類是從網上搜尋到的,直接用即可。

# -*- coding:utf-8 -*-

import pymssql

class MSSQL:
    def __init__(self,host,user,pwd,db):
        self.host = host
        self.user = user
        self.pwd = pwd
        self.db = db

    def __GetConnect(self):
        if not self.db:
            raise(NameError,"沒有設定資料庫資訊")
        self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
        cur = self.conn.cursor()
        if not cur:
            raise(NameError,"連接配接資料庫失敗")
        else:
            return cur

    def ExecQuery(self,sql):
        cur = self.__GetConnect()
        cur.execute(sql)
        resList = cur.fetchall()

        #查詢完畢後必須關閉連接配接
        self.conn.close()
        return resList

    def ExecNonQuery(self,sql):
        cur = self.__GetConnect()
        cur.execute(sql)
        self.conn.commit()
        self.conn.close()