Python-SQLite-DB查询对每个

2024-09-27 09:33:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我在TestComplete中使用python来执行db查询,但是结果似乎是空字符串,并且与我查询的表中的数据不匹配。该文件是一个s3db文件。这有关系吗?你知道吗

使用:

TestComplete版本14

将sqlite3导入到python文件中

我已经:

-尝试在SQLite中运行相同的查询。它返回了预期的结果

-验证是否与正确的db建立了连接

---python
import sqlite3

def getInfo():
    conn = sqlite3.connect(db)
    c = conn.cursor()

    try:
        c.execute('SELECT Column_Name FROM Table_Name')
        results = c.fetchall()
    except:
        Log.Error("Query execution failed") 

    for x in results:
        Log.Message(x) `enter code here`
        #Log.Message() works like a print statement in testcomplete.
---   

实际输出: 程序运行时没有错误,但结果返回为15行空行。15是表中的记录数,所以我知道它在正确的位置,但它似乎没有标识这里存储了信息。你知道吗

预期产量: 查询中指定的列I中包含15行数据。你知道吗


Tags: 文件数据字符串namein版本logmessage
1条回答
网友
1楼 · 发布于 2024-09-27 09:33:03

sqlite3和您的DB操作没有错误。问题在于日志消息以及它所期望的参数。在TestComplete中,日志消息需要Variant类型的变量参数,可以是TestComplete中支持的任何数据类型;StringDouble/RealBooleanDate/TimeObject(即TestComplete可识别的UI对象)和Integer你知道吗日志消息无法接受返回的类型的参数游标.fetchall的行。你知道吗

所以你需要把每一行转换成一个字符串,例如

for x in results:
    msg = ('{0} : {1}'.format(x[0], x[1]))
    Log.Message(msg)

相关问题 更多 >

    热门问题