函数序列错误(0)(SQLFetch) - SQL,Pyodbc

时间:2013-08-13 17:21:24

标签: python sql pyodbc

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")

1 个答案:

答案 0 :(得分:2)

你正在做的事情很好,应该根据@ ScottMorken对这个答案的评论工作。


旧答案:
您需要使用例如.fetchall()
来检索查询结果 所以你可以这样做而不是那条线:

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