【问题标题】:Dynamic retrieving the information from Mysql base on the button action基于按钮动作从Mysql动态检索信息
【发布时间】:2020-06-18 07:56:56
【问题描述】:

我有一组按钮,其中的文本(按钮文本)基于用户在数据库中创建的部门名称。因此,当页面加载时,部门按钮会被填充。

现在我的问题是当按下部门按钮时,我使用.getText() 方法从按钮获取部门名称,并使用从该方法获得的文本作为参数,我可以在 SQL where 子句中传递调用该部门下的所有项目名称。

// Actions for the menu button
@FXML

void menu_1(ActionEvent event) {
    Object MenuText = event.getSource();
    Button Menu = null;
    String deptName = "";

    if( Menu != null)
        deptName = Menu.getText();

    Conn = MySQLConnect.ConnectDB();
    Map<Integer, Object> menuItemIdMap =new HashMap<>();
    menuItemIdMap.put(1,Item1);
    menuItemIdMap.put(2,Item2);
    menuItemIdMap.put(3,Item3);
    menuItemIdMap.put(4,Item4);
    menuItemIdMap.put(5,Item5);
    menuItemIdMap.put(6,Item6);
    menuItemIdMap.put(7,Item7);
    menuItemIdMap.put(8,Item8);
    menuItemIdMap.put(9,Item9);
    menuItemIdMap.put(10,Item10);

    String Sql= "SELECT PluIName FROM xpresspos.pluitems  where (PluIDept = '@deptName') ";

    try {
        pst = Conn.prepareStatement(Sql);
        rs = pst.executeQuery();

        // Object menu;
        int index = 0;
        while (rs.next()) {
            index++;
            String pluName = rs.getString("PluIName");

            Button item= (Button) menuItemIdMap.get(index);
            item.setText(pluName);
        }
    } catch(Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }

有谁知道如何创建一个动态的 where 子句来解决问题?

【问题讨论】:

  • 不相关:请使用 java 命名约定!并且不要将摇摆混入 fx 应用中

标签: java mysql javafx


【解决方案1】:

您正在寻找prepared statement parameters

String sql = "SELECT PluIName FROM xpresspos.pluitems WHERE PluIDept = ?"
pst = Conn.prepareStatement(sql);
pst.setString(1, deptName);
rs = pst.executeQuery();

【讨论】:

    【解决方案2】:

    我设法解决了问题

    首先我将菜单声明更改为: '' 按钮菜单 =(Button)event.getSource(); '' 我删除了 if 语句,并应用了上面@Job Curtis 显示的 SQL 修复程序,谢谢

    【讨论】:

      猜你喜欢
      • 2020-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多