Python操作SQLServer示例(轉)


轉自:http://www.cnblogs.com/lrzy/p/4346781.html

本文主要是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()

ms = MSSQL(host="192.168.1.1",user="sa",pwd="sa",db="testdb")
reslist = ms.ExecQuery("select * from webuser")
for i in reslist:
    print i

newsql="update webuser set name='%s' where id=1"%u'測試'
print newsql
ms.ExecNonQuery(newsql.encode('utf-8'))


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM