【发布时间】:2011-05-05 07:18:15
【问题描述】:
好的,所以我有一个函数可以根据插件的输入选择 sqlite 数据库中的某些行。当只涉及一个语句时,我让插件选择和获取行,但由于我想为此增加一些灵活性,我尝试在遇到列表或元组时使函数使用 executemany。然而,尽管我已经摆弄和改变了所有的东西,我仍然无法让它工作,要么是因为 sqlite 语句将字符串中的每个字符都视为一个绑定,要么是因为元组中有太多的绑定。这是我到目前为止的代码:
def readoffset(self,offset):
vartype = type(name)
print(vartype)
if vartype == int:
self.memcursor.execute('''select all id,matbefore,matafter,name,date
from main as main where id = ?''',[offset])
undolist = self.memcursor.fetchall()
print(undolist)
return(undolist)
elif vartype == tuple or list:
print(vartype)
self.memcursor.executemany('''select all id,matbefore,matafter,name,date
from main as main where name = (?)''', [offset])
undolist = self.memcursor.fetchall()
return(undolist)
【问题讨论】:
-
应该
vartype=type(name)是vartype=type(offset)?
标签: python database sqlite executemany