【问题标题】:Function sequence error (0) (SQLFetch) - SQL, Pyodbc函数序列错误 (0) (SQLFetch) - SQL, Pyodbc
【发布时间】:2013-08-13 17:21:23
【问题描述】:
for _item in file_list:
    for col in cursor.execute("select column1,column2 from tbl"):
        if _item[0]==col.column1:
            #I also tried using a different cursor, still doesn't work
            var1 = cursor.execute("select column2 from tbl where column1=?", _item[0])
            for i in var1: var2 = i[0]
            try:
                cursor3.execute("insert into tbl(column2,column1,column3,column4) values (?,?,?,?)", (var1, _item[0],_item[1],_item[2]))
                cursor3.commit() 
            except IOError as error:
                print error

我要做的是比较列表中的值和 column1 中的值,如果它们匹配,则在同一行上从 column2 中获取值,然后使用 column2 中的值添加一个新行,但值不同剩下的。

但不幸的是,它并没有像我那样工作,当运行 python 上面的代码时会抛出错误:

Error: ('HY010', '[HY010] [Microsoft][ODBC Driver Manager] Function sequence error (0) (SQLFetch)')

排队:

for columnrow in cursor.execute("select column1,column2 from tbl")

【问题讨论】:

  • 您所说的生成错误的行没有出现在您的代码示例中。似乎还有一个错字:我认为colum2 应该是column2
  • 抱歉,已修复

标签: python sql pyodbc


【解决方案1】:

你所做的很好,应该按照@ScottMorken 对此答案的评论工作。


旧答案:
您需要使用例如.fetchall()
来检索查询结果 因此,您可以这样做:

for columnrow in cursor.execute("select column1,column2 from tbl").fetchall():
    ...

【讨论】:

猜你喜欢
  • 2021-10-20
  • 2014-11-04
  • 1970-01-01
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多