#encoding='utf-8' import pymssql from collections.abc import Iterable class MSSQL(object): ''' 對pymssql的簡單封裝 pymssql庫,該庫到這裏下載:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql 使用該庫時,需要在Sql Server Configuration Manager裏面將TCP/IP協議開啓 用法: ''' def __init__(self, host, user, pwd, db): self.host = host self.user = user self.pwd = pwd self.db = db def GetConnect(self): ''' 得到鏈接信息 :return: ''' if not self.db: raise (NameError, "沒有設置數據庫信息") self.connect=pymssql.connect(host=self.host, user=self.user, password=self.pwd, database=self.db,charset='utf8') cur = self.connect.cursor() if not cur: raise (NameError, "鏈接數據庫失敗") else: return cur def ExecQuery(self, sql): ''' 執行查詢語句 返回的是一個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的字段 調用示例: ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics") resList = ms.ExecQuery("SELECT id,NickName FROM WeiBoUser") for (id,NickName) in resList: print str(id),NickName :param sql: sql語句 :return: ''' cur=self.GetConnect() cur.execute(sql) resList = cur.fetchall() #查詢完畢後必須關閉連接 self.connect.close() return resList def ExecNonQuery(self, sql): """ 執行非查詢語句 調用示例: cur = self.__GetConnect() cur.execute(sql) self.conn.commit() self.conn.close() """ cur = self.__GetConnect() cur.execute(sql) self.connect.commit() self.connect.close() def test(): from collections.abc import Iterable ## ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics") ## #返回的是一個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的字段 ms = MSSQL(host="127.0.0.1", user="sa", pwd="123", db="test") resList = ms.ExecQuery('SELECT * FROM abc') for x in resList: print(x[0], x[1]) if __name__ == '__main__': test()
pymssql連接SQLServer
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.