成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

ironpython利用裝飾器執(zhí)行sql

Enlightenment / 2860人閱讀

摘要:比較喜歡的裝飾器試了下一種用法,通過(guò)裝飾器來(lái)傳遞,并執(zhí)行返回結(jié)果這個(gè)應(yīng)用應(yīng)該比較少為了方便起見(jiàn),直接使用了連接的算是為了好玩吧,回看了下,可能實(shí)際用的機(jī)會(huì)不多

比較喜歡python的裝飾器, 試了下一種用法,通過(guò)裝飾器來(lái)傳遞sql,并執(zhí)行返回結(jié)果
這個(gè)應(yīng)用應(yīng)該比較少
為了方便起見(jiàn),直接使用了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ì)不多

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/37496.html

相關(guān)文章

  • Python基礎(chǔ)題目大全,測(cè)試你的水平,鞏固知識(shí)(含答案)

    摘要:里,有兩種方法獲得一定范圍內(nèi)的數(shù)字返回一個(gè)列表,還有返回一個(gè)迭代器。在引用計(jì)數(shù)的基礎(chǔ)上,還可以通過(guò)標(biāo)記清除解決容器對(duì)象可能產(chǎn)生的循環(huán)引用的問(wèn)題。列舉常見(jiàn)的內(nèi)置函數(shù)的作用,過(guò)濾函數(shù),循環(huán)函數(shù)累積函數(shù)一行代碼實(shí)現(xiàn)乘法表。 showImg(https://segmentfault.com/img/remote/1460000019294205); 1、為什么學(xué)習(xí)Python? 人生苦短?人間...

    huhud 評(píng)論0 收藏0
  • 【FAILED】記一次Python后端開(kāi)發(fā)面試的經(jīng)歷

    摘要:正確的思路是等概率隨機(jī)只取出共個(gè)數(shù),每個(gè)數(shù)出現(xiàn)的概率也是相等的隨機(jī)輸出把一段代碼改成,并增加單元測(cè)試。代碼本身很簡(jiǎn)單,即使沒(méi)學(xué)過(guò)也能看懂,改后的代碼如下但是對(duì)于單元測(cè)試則僅限于聽(tīng)過(guò)的地步,需要用到,好像也有別的模塊。 在拉勾上投了十幾個(gè)公司,大部分都被標(biāo)記為不合適,有兩個(gè)給了面試機(jī)會(huì),其中一個(gè)自己覺(jué)得肯定不會(huì)去的,也就沒(méi)有去面試,另一個(gè)經(jīng)歷了一輪電話面加一輪現(xiàn)場(chǎng)筆試和面試,在此記錄一下...

    kohoh_ 評(píng)論0 收藏0
  • Python之裝飾、迭代和生成

    摘要:在學(xué)習(xí)的時(shí)候,三大名器對(duì)沒(méi)有其他語(yǔ)言編程經(jīng)驗(yàn)的人來(lái)說(shuō),應(yīng)該算是一個(gè)小難點(diǎn),本次博客就博主自己對(duì)裝飾器迭代器和生成器理解進(jìn)行解釋。 在學(xué)習(xí)python的時(shí)候,三大名器對(duì)沒(méi)有其他語(yǔ)言編程經(jīng)驗(yàn)的人來(lái)說(shuō),應(yīng)該算是一個(gè)小難點(diǎn),本次博客就博主自己對(duì)裝飾器、迭代器和生成器理解進(jìn)行解釋。 裝飾器 什么是裝飾器?裝飾從字面意思來(lái)誰(shuí)就是對(duì)特定的建筑物內(nèi)按照一定的思路和風(fēng)格進(jìn)行美化的一種行為,所謂器就是工具...

    30e8336b8229 評(píng)論0 收藏0
  • 使用TS+Sequelize實(shí)現(xiàn)更簡(jiǎn)潔的CRUD

    摘要:哈哈,這又是為什么呢細(xì)心的同學(xué)可能會(huì)發(fā)現(xiàn),的返回值是一個(gè)類型的,所以上邊并沒(méi)有屬性,的兩個(gè)屬性也是如此。我們通過(guò)在函數(shù)上邊添加一個(gè)范型的定義,并且添加限制保證傳入的范型類型一定是繼承自的,在返回值轉(zhuǎn)換其類型為,就可以實(shí)現(xiàn)功能了。 如果是經(jīng)常使用Node來(lái)做服務(wù)端開(kāi)發(fā)的童鞋,肯定不可避免的會(huì)操作數(shù)據(jù)庫(kù),做一些增刪改查(CRUD,Create Read Update Delete)的操作,...

    JayChen 評(píng)論0 收藏0
  • Python裝飾-裝飾流程,執(zhí)行順序

    摘要:最近看到一個(gè)關(guān)于的題文章其中的一個(gè)是裝飾器的順序問(wèn)題就想寫(xiě)篇博客回顧下裝飾器首先強(qiáng)烈推薦很久之前看的一篇博文翻譯理解中的裝飾器關(guān)于什么是裝飾器看這篇文章就好了這里主要想寫(xiě)關(guān)于多個(gè)裝飾器的執(zhí)行流程裝飾順序示例代碼初始化初始化輸出結(jié)果初始化初始 最近看到一個(gè)關(guān)于Flask的CTF(RealWorld CTF 2018 web題bookhub)文章其中的一個(gè)trick是裝飾器的順序問(wèn)題,就想...

    cpupro 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<