【发布时间】:2015-07-15 01:27:51
【问题描述】:
我对这个 if-else 感到困惑,因为我是 Java 和 MySQL 的新手,我试图自己做。
public Menu() {
initComponents();
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/restaurant", "root", "");
System.out.println("ODBC Connection Successful");
showCategory();
} catch (ClassNotFoundException | SQLException e) {
System.out.println("ODBC Connection Failed" + e);
}
}
如果 - 否则
private void showCategory() {
try {
Statement stmt;
stmt = con.createStatement();
if (rbMFood.isSelected()) {
ResultSet rs = stmt.executeQuery("SELECT * FROM menu_cat WHERE type_id = 'TY02'");
while (rs.next()) {
cmbMCat.addItem(rs.getString("menu_cat"));
}
} else {
ResultSet rs = stmt.executeQuery("SELECT * FROM menu_cat WHERE type_id = 'TY01'");
while (rs.next()) {
cmbMCat.addItem(rs.getString("menu_cat"));
}
}
} catch (Exception e) {
}
}
单选按钮
private void rbMFoodActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
type = "Food";
}
private void rbMDrinkActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
type = "Drink";
}
我在程序的最后声明函数
private String type;
当我点击饮料/食物时,该类别仍然是饮料的类别。
数据库
任何帮助将不胜感激!
【问题讨论】:
-
那么您执行了哪些调试步骤?
-
type_id = TYO2应该是type_id = 'TYO2'等等。 -
你能发布你的表定义吗?看起来您的表“menu_cat”中有一个列“menu_cat”,至少您正在尝试访问该列的值
-
如果您是 Java 新手,您应该先学习基础知识。对上面代码的一个很大的改进:把这个 -catch (Exception e) { } 变成这个: -catch (Exception e) { e.printStackTrace();在您当前的代码中,无论出现什么问题,您永远不会知道,因为您吞下了异常。
-
首先尝试调试看看,如果你的查询实际上是返回适当的值,如果有效,则需要调用repaint方法,实际上是刷新部分
标签: java mysql if-statement netbeans radio-button