在ironpython中利用装饰器执行SQL操作的例子
比较喜欢python的装饰器,试了下一种用法,通过装饰器来传递sql,并执行返回结果
这个应用应该比较少
为了方便起见,直接使用了ironpython,连接的mssqlserver
#-*-coding:utf-8-*-
importclr
clr.AddReference('System.Data')
fromSystem.Dataimport*
fromfunctoolsimportwraps
conn_str="server=localhost;database=DB_TEST;uid=sa;password=sa2008"
defmssql(sql):
defhandler_result(rs):
rst=[]
whilers.Read():
rst.Add(rs[0])
returnrst
defdecorator(fn):
@wraps(fn)
defwrapper(*args,**kwargs):
TheConnection=SqlClient.SqlConnection(conn_str)
TheConnection.Open()
try:
MyAction=SqlClient.SqlCommand(sql,TheConnection)
MyReader=MyAction.ExecuteReader()
exceptException,ex:
raiseAssertionError(ex)
rst_data=handler_result(MyReader)
kwargs["sql_rst"]=rst_data
result=fn(*args,**kwargs)
MyReader.Close()
TheConnection.Close()
returnresult
returnwrapper
returndecorator
@mssql(sql="Selectgetdate()")
defget_data(sql_rst=""):
printsql_rst[0]
get_data()
算是为了好玩吧,回看了下,可能实际用的机会不多
热门推荐
10 喜得孙子祝福语简短唯美
11 婚礼祝福语简短朴实大众
12 员工周年祝福语大全简短
13 家长回复节日祝福语简短
14 简短生日祝福语老同学
15 夜雨祝福语简短10字
16 蛋糕祝福语简短闺蜜
17 部门过年祝福语简短独特
18 简短精炼的结婚祝福语