在简单的SELECT语句中Python列表索引超出范围?

2024-09-29 01:28:08 发布

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

我是Python新手,所以可能我犯了个新手错误。但这似乎不是我在这种情况下应该犯的错误。在

在一个非常简单的SELECT语句中,我得到一个“list index out out range”错误。在

  sql = """
        begin tran
        -- Several update statements are in this block.

        commit tran"""
    sql = sql.format(tablename=self.tablename, **self.mappings)
    #print(sql)
    self.cursor.execute(sql, (self.catalog_id,self.catalog_id,self.catalog_id,))


    self.cursor.execute("SELECT CaptionText, DisplayOrder FROM dbo.SizeOrder where CaptionText is not NULL and len(CaptionText)>0")  #This is the line that breaks!

    size_order = {row[0].lower(): row[1] for row in self.cursor}

是倒数第二行被打破了。它没有做任何有趣的格式化。在这个问题查询中我不做任何替换。当直接对数据库运行时,它返回300多条记录。在

跟踪输出明确地暗示了这行代码。我真的怀疑下一行b/c会涉及索引。但处决后的回归毫无帮助。在

^{pr2}$

我会做错什么?谢谢!在


Tags: inselfidexecutesql错误outselect