在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 2026祝福语简短创意牛
11 给舍友送祝福语简短
12 简短有内涵的祝福语
13 送花简短有内涵祝福语
14 老婆生日祝福语短句简短
15 项目建设春节祝福语简短
16 送给情侣贺卡祝福语简短
17 律所年会祝福语简短
18 宝宝100日简短祝福语