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

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

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

比較喜歡python的裝飾器, 試了下一種用法,通過裝飾器來傳遞sql,并執(zhí)行返回結(jié)果
這個(gè)應(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()

算是為了好玩吧,回看了下,可能實(shí)際用的機(jī)會(huì)不多

相關(guān)文章

最新評(píng)論

南宁市| 东平县| 南和县| 松溪县| 陵水| 静乐县| 吴桥县| 安阳县| 阿城市| 大港区| 独山县| 大余县| 公主岭市| 牙克石市| 霸州市| 获嘉县| 高清| 安丘市| 朝阳县| 郁南县| 舒兰市| 长沙县| 腾冲县| 池州市| 循化| 茶陵县| 称多县| 瑞安市| 隆回县| 呼伦贝尔市| 广汉市| 建湖县| 象山县| 西丰县| 贡山| 句容市| 塔河县| 大化| 当阳市| 淄博市| 保靖县|