You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复id_rounds函数实现双联动combobox关联赛事的轮次ID提取

修复方案

你的id_rounds函数存在两个核心错误:

  • 函数内部没有获取当前选中的赛事,变量tournaments未定义
  • SQL查询字段错误:All_Round表没有Tournament字段,关联赛事用的是ID_Tournament字段

修复后的id_rounds函数

def id_rounds():
    # 获取选中的轮次编号
    selected_round = combo_rounds.get()
    # 调用已有的id_tournaments函数获取当前选中赛事的ID
    selected_tournament_id = id_tournaments()
    # 修正SQL查询,用ID_Tournament匹配赛事
    cursor.execute('SELECT ID_Round FROM All_Round WHERE Number_Round=? AND ID_Tournament=?', (selected_round, selected_tournament_id))
    result = [row[0] for row in cursor]
    return result[0]

额外优化(可选)

目前你的combo_rounds函数也存在逻辑问题,选中赛事后轮次下拉不会过滤对应赛事的轮次,会显示所有赛事的全部轮次,建议同步修复:

def combo_rounds(event=None):
    # 获取当前选中赛事的ID
    selected_tournament_id = id_tournaments()
    # 只查询对应赛事的轮次
    cursor.execute('SELECT Number_Round From All_Round WHERE ID_Tournament=?', (selected_tournament_id,))
    result = [row[0] for row in cursor]
    combo_Rounds['values'] = result
    # 重置轮次下拉默认值
    combo_Rounds.set("Select")
    return result

内容的提问来源于stack exchange,提问作者user16579669

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 16:06:03