如何从twisted.enterprise.adbapi获取数据,而不是“Deferred”对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从twisted.enterprise.adbapi获取数据,而不是“Deferred”对象相关的知识,希望对你有一定的参考价值。

当我使用twisted.enterprise.adbapi和sql_server时,我总是得到“Deferred”对象,但是我需要列表或tulpe中的可用数据。

import pymssql
from twisted.internet import reactor   
from twisted.enterprise import adbapi
db_settings = {
 "host" : "127.0.0.1",
 "port" : "1433",
 "user" : "sa",
 "password" : "sa",
 "database" : "dataDB",
 "cp_min" : "3",
 "cp_max" : 10,
 "cp_noisy" : "True",
 "charset" : "utf8"
}

dbpool = adbapi.ConnectionPool("pymssql", **db_settings)

def getData():
    return dbpool.runQuery("SELECT * FORM dataDB.Base")

reactor.callLater(4, reactor.stop)
print getData()
reactor.run()

上面的代码执行,只是在命令中得到“Deferred at 0x4ca2948”。接下来我该怎么办?

答案

使用以下代码,可以从“延期”中获取数据

def getAge():
 return dbpool.runQuery("SELECT * FROM Base")

def getValue(L):
    print L[0][0]  # type(L[0]) is Tuple

getAge().addCallback(getValue)
reactor.run()

但是,我仍然不知道函数getValue中“L”的含义。也许“L”是getAge()的结果,我不确定。

以上是关于如何从twisted.enterprise.adbapi获取数据,而不是“Deferred”对象的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据从回收器适配器发送到片段 |如何从 recyclerview 适配器调用片段函数

如何从 Firebase 获取所有设备令牌?

如何直接从类调用从接口继承的方法?

如何从服务器获取和设置 android 中的 API(从服务器获取 int 值)?如何绑定和实现这个

如何从Mac从android studio中的fabric注销? [复制]

如何从设备中获取 PDF 文件以便能够从我的应用程序中上传?