不幸的是,我是Python的新手,当很难分辨类型时,它变得令人困惑。
我想做的是在SQL上运行查询,但不是使用自己的SQL实例,而是使用经过编码的Python框架来帮我实现。据我了解,该方法在列表中使用一个值,然后将其作为查询运行。
一旦获得结果,它将在方法返回的列表中发送该行。该框架导入了mySQLdib库,因此可以按预期工作。
def query(self,queryStr):
results = []
try:
self._cursor = self._connection.cursor(MySQLdb.cursors.DictCursor)
self._cursor.execute(queryStr)
for row in self._cursor.fetchall():
results.append(row)
self._connection.commit()
self._cursor.close()
except MySQLdb.Error as e:
self.error("Error %d: %s" % (e.args[0], e.args[1]))
self._dbLogFormatter(queryStr,self._callingName())
self._dbLogFormatter(str(results),self._callingName())
return results
所以这就是我要执行的操作,运行查询并将结果放入列表中,但是它一直给我输入Type Error。
qry=[]
qry.append("select * from orders where cl_ord_id='"+clOrdId+"'")
results =mysql.query(qry)
它一直告诉我 TypeError:需要一个类似字节的对象,而不是“列表”
我不明白为什么会这样,因为该函数正在返回一个列表,并且我还在创建一个列表以获取详细信息。也许我没有正确编码
有人可以帮忙吗?