import pymssql from readconfig import * #讀取配置文件ini的py文件 import pprint class SqlsvLib: def __init__(self): # 類的構造函數,初始化數據庫連接ip或者域名,以及用戶名,密碼,要連接的數據庫名稱 self.sqhost = sqhost #sqhost在readconfig內聲明 self.squser = squser #squser在readconfig內聲明 self.sqpasswd = sqpasswd #sqpasswd在readconfig內聲明 self.sqdb = sqdb #sqdb在readconfig內聲明 def __GetSqlConnect(self): # 得到數據庫連接信息函數, 返回: conn.cursor() self.conn = pymssql.connect(host=self.sqhost, user=self.squser, password=self.sqpasswd, database=self.sqdb, charset='utf8') sqcur = self.conn.cursor() # 將數據庫連接信息,賦值給cur。 if not sqcur: return (NameError, "sqlserver連接數據庫失敗") else: return sqcur # 執行查詢語句,返回的是一個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的字段 def ExecSqlQuery(self, sql): # 執行Sql語句函數,返回結果 sqcur = self.__GetSqlConnect() # 獲得數據庫連接信息 # 使用execure方法執行sql語句 try: sqcur.execute(sql) # 執行Sql語句 resList = sqcur.fetchall() # 獲得所有的查詢結果 except: print("Error:sql unable to fetch data") self.conn.close() # 查詢完畢后必須關閉連接 return resList # 返回查詢結果 def ExecNonQuery(self, sql): sqcur = self.__GetConnect() sqcur.execute(sql) self.conn.commit() self.conn.close() if __name__ == '__main__': ms=SqlsvLib() ll=ms.ExecSqlQuery("select top 10 * from Sys_Menu") print(ll)