我试图将一个查询的输出用于另一个查询,但当我选择一个元素时,它会将输出作为
[(8, u'O', 2, 16)]
[(8,)]
[ ]
所以第三个查询没有正常工作。我想问题是,我打印的是一个单一的数字,但输出的是数字列表,我试图解决它,但仍然卡在这里。你知道吗
def OnClick(self, event):
name = event.GetEventObject().GetLabelText()
cursor= self.conn.execute("SELECT * FROM ELEMENT where SYMBOL=='%s'"%(name))
elements = cursor.fetchall()
print elements
cursor= self.conn.execute("SELECT ATOMIC_NUMBER FROM ELEMENT where SYMBOL IN ('%s')"%(name))
numbers = cursor.fetchall()
print numbers
cursor= self.conn.execute("SELECT * FROM LINK where ELEMENT_NUMBER = 'numbers'")
mnumbers = cursor.fetchall()
print mnumbers
#cursor= self.conn.execute("SELECT * FROM LINK where ELEMENT_NUMBER IN (SELECT ATOMIC_NUMBER FROM ELEMENT where SYMBOL IN ('%s')%(SYMBOL))")
#cursor= self.conn.execute("SELECT * FROM MOLECULE where MOL_NUMBER=='%d'"%(Mnumbers))
#molecules = cursor.fetchall()
#print molecules
Pythons^{} documentation 在顶部说,永远不要用值进行
%s
替换。你知道吗将变量值放入查询的正确方法是使用SQL参数:
相关问题 更多 >
编程相关推荐