欢迎进入windows社区论坛,与300万技术人员互动交流 >>进入
# author: scott
#
# created: 04/02/2012
#-------------------------------------------------------------------------------
import pymssql
import sys
import decimal
reload(sys)
sys.setdefaultencoding( utf8 )
class mssql:
对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):
得到连接信息
返回: conn.cursor()
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):
执行查询语句
返回的是一个包含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
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()
cur = self.__getconnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
[1] [2] [3]
