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)
添加回答
舉報