1 回答
TA贡献1830条经验 获得超3个赞
如果只是确定表的第一个数字,则可以使用字典将数字映射到表名称。
调用Load_XXXDb()方法时,可以使用getattr()动态获取属性。
def Add_New(self):
pref = self.adding.addcode_text.text()
grade = self.adding.addgrade_text.text()
desc = self.adding.adddesc_text.text()
supp = self.adding.addsupp_text.text()
tables = {"1": "Stainless", "2": "Steel", "3": "Aluminum", ...}
table = tables[pref[0]]
try:
c.execute('INSERT INTO ' + table + ' (prefix,grade,desc1,supplier)VALUES(?,?,?,?)',(pref,grade,desc,supp))
conn.commit()
print('DONE')
getattr(self, 'Load_' + table + 'Db')()
except Exception as error:
print(error)
添加回答
举报
