【问题标题】:How do I pass data from jList to database(mySQL)如何将数据从 jList 传递到数据库(mySQL)
【发布时间】:2024-01-22 11:57:01
【问题描述】:

我需要一些关于我的程序的帮助。如何将数据从 JList 传递到数据库?

在 ItemDetails.java 中,我已将复选框值传递到另一个 JForm 中的 JList 中。现在我想将 JList 中的数据检索到我的数据库中。

ItemDetails.java

    private void jButtonNextActionPerformed(java.awt.event.ActionEvent evt) {                                            

    ShoppingCart sc=new ShoppingCart();
             if(!jCheckBoxAdele.isSelected()&&!jCheckBox1DPerfect.isSelected()&&!jCheckBoxBieber.isSelected()
            &&!jCheckBox1D1Thing.isSelected()&&!jCheckBoxHujan.isSelected()&&!jCheckBoxSamWriting.isSelected()
            &&!jCheckBoxAlessiaWil.isSelected()&&!jCheckBoxSamStayWithMe.isSelected()
            &&!jCheckBoxFx.isSelected()&&!jCheckBoxSonaone.isSelected()&&!jCheckBoxRabbani.isSelected()
            &&!jCheckBoxTroye.isSelected()&&!jCheckBoxMarvinGaye.isSelected())
    {

      sc.setVisible(false);

     JOptionPane.showMessageDialog(null, "Please pick your song !!!");
     dispose();
     new ItemDetails().setVisible(true);
    }


    if(jCheckBoxAdele.isSelected())
        songsdetails.add("Adele - Hello");

    if(jCheckBox1DPerfect.isSelected())
        songsdetails.add("One Direction - Perfect");

    if(jCheckBoxBieber.isSelected())
        songsdetails.add("Justin Bieber - Sorry");

    if(jCheckBox1D1Thing.isSelected())
        songsdetails.add("One Direction - One Thing");

    if(jCheckBoxHujan.isSelected())
        songsdetails.add("Hujan - Anging Kencang");

    if(jCheckBoxSamWriting.isSelected())
        songsdetails.add("Sam Smith - Writing On The Walls");

    if(jCheckBoxAlessiaWil.isSelected())
        songsdetails.add("Alessia Cara");

    if(jCheckBoxSamStayWithMe.isSelected())
        songsdetails.add("Sam Smith - Stay With Me");

    if(jCheckBoxFx.isSelected())
        songsdetails.add("F(x) - 4 Walls");

    if(jCheckBoxDemi.isSelected())
        songsdetails.add("Demi Lovato - I Really Don't Care");

    if(jCheckBoxSonaone.isSelected())
        songsdetails.add("Sonaone - Firefly");

    if(jCheckBoxRabbani.isSelected())
        songsdetails.add("Rabbani - Pergi Tak Kembali");

    if(jCheckBoxTroye.isSelected())
        songsdetails.add("Troye Sivan - Fools");

    if(jCheckBoxMarvinGaye.isSelected())
        songsdetails.add("Charlie Puth - Marvin Gaye");

        new ShoppingCart(songsdetails).setVisible(true);
        dispose(); 

}         

ShoppingCart.java

public class ShoppingCart extends javax.swing.JFrame {
public Connection cn;
public PreparedStatement st;
static ArrayList songsdetails;

/**
 * Creates new form ShoppingCart
 */
public ShoppingCart() {
    initComponents();
}

public ShoppingCart(ArrayList SONGSDETAILS) {
    initComponents();
    songsdetails = SONGSDETAILS;
}               
private void jButtonEditActionPerformed(java.awt.event.ActionEvent evt) {                                            

    this.setVisible(false);
    jList1.clearSelection();
    new ItemDetails().setVisible(true);

}                                           

private void jButtonNextActionPerformed(java.awt.event.ActionEvent evt) {                                            


        try {
            Class.forName("com.mysql.jdbc.Driver");

            cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sdmusic","root","");

            st=cn.prepareStatement("SELECT `Username`, `SongsSelection` FROM `user` WHERE `Username`=?  'SongsSelection' = ?");





        } catch (ClassNotFoundException ex) {
            Logger.getLogger(ShoppingCart.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
        Logger.getLogger(ShoppingCart.class.getName()).log(Level.SEVERE, null, ex);
    }

   dispose();
   new CalculatePay().setVisible(true);

}                                           

private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
    // TODO add your handling code here:
    DefaultListModel list = new DefaultListModel();
    System.out.println(""+songsdetails.get(0));
    for(int i=0; i <songsdetails.size();i++){
        list.addElement(songsdetails.get(i));
    }
    jList1.setModel(list);


}                                 

【问题讨论】:

  • 加粗加强
  • @MuratK. 你这是什么意思?
  • @MuratK。现在有人编辑了粗体部分。你现在能帮我吗?
  • 我不能告诉你,但你的大写键卡住了!
  • @marged 哦对不起我的错。我想当我使用 Caps Lock 写作时,它会像抓住人们的注意力一样弹出。我不是故意听起来粗鲁的。对不起。

标签: java mysql sql netbeans jlist


【解决方案1】:
  1. 从您的 JList 中检索所需的值,see here
  2. 准备INSERT INTO 声明,see here
  3. 执行您的声明,see here

【讨论】:

  • 虽然您的链接似乎没问题,但当您提供仅链接的答案时,通常不欢迎 SO
  • @Marged 如果这没有帮助,我会在明天添加更多内容。现在没时间:D