最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在ironpython中利用裝飾器執(zhí)行SQL操作的例子

 更新時間:2015年05月02日 15:24:57   作者:agentwx  
這篇文章主要介紹了在ironpython中利用裝飾器執(zhí)行SQL操作的例子,文章中以操作MySQL為例,需要的朋友可以參考下

比較喜歡python的裝飾器, 試了下一種用法,通過裝飾器來傳遞sql,并執(zhí)行返回結(jié)果
這個應(yīng)用應(yīng)該比較少
為了方便起見,直接使用了ironpython, 連接的mssql server

# -*- coding: utf-8 -*-
import clr
clr.AddReference('System.Data')
from System.Data import *
from functools import wraps

conn_str = "server=localhost;database=DB_TEST;uid=sa;password=sa2008"

def mssql(sql):
  def handler_result(rs):
    rst = []
    while rs.Read():
      rst.Add(rs[0])
    return rst


  def decorator(fn):
    @wraps(fn)
    def wrapper(*args, **kwargs):
      TheConnection = SqlClient.SqlConnection(conn_str)
      TheConnection.Open()
      try:
        MyAction = SqlClient.SqlCommand(sql, TheConnection)
        MyReader = MyAction.ExecuteReader()
      except Exception,ex:
        raise AssertionError(ex)
      rst_data = handler_result(MyReader)
      kwargs["sql_rst"] = rst_data
      result = fn(*args, **kwargs)
      MyReader.Close()
      TheConnection.Close()
      return result
    return wrapper
  return decorator



@mssql(sql="Select getdate()")
def get_data(sql_rst=""):
  print sql_rst[0]

get_data()

算是為了好玩吧,回看了下,可能實際用的機會不多

相關(guān)文章

最新評論

大化| 东山县| 神池县| 桐梓县| 怀远县| 葫芦岛市| 马公市| 儋州市| 曲周县| 克什克腾旗| 泰和县| 眉山市| 英德市| 阿克陶县| 新巴尔虎左旗| 大埔县| 榆树市| 吐鲁番市| 屯昌县| 淮北市| 绿春县| 通榆县| 木兰县| 西青区| 登封市| 抚远县| 会东县| 丹东市| 贵溪市| 平和县| 安远县| 阿合奇县| 九龙城区| 乌审旗| 天柱县| 六枝特区| 调兵山市| 如皋市| 南郑县| 思南县| 呼玛县|