有人建议我使用以下代码:
query = 'Select "logtext" from log where jobid = %s;'
cursorErrorData.execute(query, str(row[0]))
而不是用这个:
query = 'Select "logtext" from log where jobid = %s;' % str(row[0])
cursorErrorData.execute(query)
我使用了第一个示例,它运行良好,但在这个示例中它崩溃了
str(行[0])检索的数据如下:
3090
这是个例外:
not all arguments converted during string formatting
有人能给我解释一下这两种方法的区别吗?为什么在这种情况下,我不能使用它
您需要在
cursor.execute
的第二个参数中传递一个元组例如:
execute
的第二个参数应该是一系列参数。如果您提供str(row[0])
,那么它将被解释为一个序列,而不是单个参数(字符串是一个字符序列。)把它包成一个元组
相关问题 更多 >
编程相关推荐