轉自: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'))