【发布时间】:2015-01-08 20:23:13
【问题描述】:
我的问题是:- 当我有多个 JRadioButtons 时,它只选择最后一个放入我的数据库表中。我已经尝试了很多,但我无法弄清楚为什么它只插入了最后一个 RadioButton。即使我点击不同的按钮,无论它总是选择最后一个无麸质外壳。请帮帮我。这是我与此问题有关的部分代码。
JButton btnFinish = new JButton("Finish");
btnFinish.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
close();
String query = "insert into Exam2 (FullName, Address, Phonenumber, PizzaSize, CrustType, Toppings, Quantity) values (?,?,?,?,?,?,?)";
java.sql.PreparedStatement pst= con.prepareStatement(query);
pst.setString(1, txtName.getText());
pst.setString(2, txtAddress.getText());
pst.setString(3, txtNumber.getText());
pst.setString(4, rdbtnSmall.getText());
pst.setString(4, rdbtnMedium.getText());
pst.setString(4, rdbtnLarge.getText());
pst.setString(5, rdbtnHandTossed.getText());
pst.setString(5, rdbtnHandmadePan.getText());
pst.setString(5, rdbtnBrooklynStyle.getText());
pst.setString(5, rdbtnGlutenFreeCrust.getText());
pst.setString(6, rdbtnPepperoni.getText());
pst.setString(6, rdbtnItalianSausage.getText());
pst.setString(6, rdbtnBeef.getText());
pst.setString(6, rdbtnHam.getText());
pst.setString(6, rdbtnBacon.getText());
pst.setString(6, rdbtnOlives.getText());
pst.setString(6, rdbtnMushrooms.getText());
pst.setString(6, rdbtnOnions.getText());
pst.setString(7, textField.getText());
pst.execute();
close();
}catch(Exception i) {
System.err.println("Exception: " + i.getMessage());
JOptionPane.showMessageDialog(null, "There has been an error connecting to the database");
}
}
});
JSeparator separator = new JSeparator();
JLabel lblPizzaSizeAnd = new JLabel("Pizza Size And Crust");
lblPizzaSizeAnd.setFont(new Font("Lucida Grande", Font.PLAIN, 15));
rdbtnSmall = new JRadioButton("Small(10\")");
rdbtnMedium = new JRadioButton("Medium(12\")");
rdbtnLarge = new JRadioButton("Large(14\")");
JSeparator separator_1 = new JSeparator();
JSeparator separator_2 = new JSeparator();
separator_2.setOrientation(SwingConstants.VERTICAL);
rdbtnHandmadePan = new JRadioButton("HandMade Pan");
rdbtnHandmadePan.setToolTipText("Two layers of cheese, toppings to the edge, and a crust that bakes up golden and crispy with a buttery taste.");
rdbtnHandTossed = new JRadioButton("Hand Tossed");
rdbtnHandTossed.setToolTipText("Garlic-seasoned crust with a rich, buttery taste.");
rdbtnBrooklynStyle = new JRadioButton("Brooklyn Style");
rdbtnBrooklynStyle.setToolTipText("Hand stretched to be big, thin, and perfectly foldable.");
rdbtnGlutenFreeCrust = new JRadioButton("Gluten Free Crust");
rdbtnGlutenFreeCrust.setToolTipText("Domino's pizza made with a Gluten Free Crust.");
group = new ButtonGroup();
group.add(rdbtnHandmadePan);
group.add(rdbtnHandTossed);
group.add(rdbtnBrooklynStyle);
group.add(rdbtnGlutenFreeCrust);
JSeparator separator_3 = new JSeparator();
JLabel lblToopings = new JLabel("Toppings");
lblToopings.setFont(new Font("Lucida Grande", Font.PLAIN, 15));
rdbtnPepperoni = new JRadioButton("Pepperoni");
rdbtnItalianSausage = new JRadioButton("Italian Sausage");
rdbtnBeef = new JRadioButton("Beef");
rdbtnHam = new JRadioButton("Ham");
rdbtnBacon = new JRadioButton("Bacon");
rdbtnOlives = new JRadioButton("Olives");
rdbtnMushrooms = new JRadioButton("Mushrooms");
rdbtnOnions = new JRadioButton("Onions");
JLabel lblQuantity = new JLabel("Quantity");
textField = new JTextField();
textField.setColumns(10);
谢谢!!
【问题讨论】:
-
我不确定您真正期望发生什么,考虑到您将多个值分配给单个列...
-
那么你怎么能把所有的单选按钮都记录到数据库中……你能用带有 sql 的 ButtonGroup 将单选按钮的数据插入到 ButtonGroup 中吗?
-
但是你不需要所有这些,你只需要选择一个..
标签: java sql database swing jradiobutton