SQL插入

时间:2017-03-24 23:25:27

标签: java sql swing jtable

我整天都抱着一个愚蠢的问题。我在我的数据库中插入executeupdate一行。我用fireTableDataChanged,setModel和我在这里找到的每个提示尝试了它。 但没有变化。插入数据,只有当我重新打开我的应用程序时,我才能看到我的插入内容。

我希望这堂课足以解决我的问题。否则我可以粘贴我的executeupdate语句或我的mainclass。

我真的希望你能帮助我。

表格

    public TabelleErfasst()
    {
        super(new GridLayout(1, 0));

        JTable table = new JTable();


        table.setPreferredScrollableViewportSize(new Dimension(950, 300));
        table.setFillsViewportHeight(true);

        DefaultTableModel model = new DefaultTableModel();
        model.setRowCount(0);
        table.setModel(model);


        Object[] columnsName = new Object[7];
        columnsName[0] = "Vorname";
        columnsName[1] = "Nachname";
        columnsName[2] = "Straße";
        columnsName[3] = "Stadt";
        columnsName[4] = "Hat abgestimmt für";
        columnsName[5] = "ID";
        columnsName[6] = "Sterne";

        model.setColumnIdentifiers(columnsName);

        Object[] rowData = new Object[8];

        ArrayList<Stimmzettel> stimmzettel = ErfasstDatabase.getStimmzettel();

        for (int i = 0; i < stimmzettel.size(); i++) {
            rowData[0] = stimmzettel.get(i).getVorName();
            rowData[1] = stimmzettel.get(i).getNachName();
            rowData[2] = stimmzettel.get(i).getStrasse();
            rowData[3] = stimmzettel.get(i).getStadt();
            rowData[4] = stimmzettel.get(i).getAbgestimmtFuer();
            rowData[5] = stimmzettel.get(i).getProjektId();
            rowData[6] = stimmzettel.get(i).getSterne();
            model.addRow(rowData);
        }

        // Ändere Spaltenbreite, wenn i == 1 -> breiter
        TableColumn column = null;
        for (int i = 0; i < 7; i++) {
            column = table.getColumnModel().getColumn(i);
            if (i == 1) {
                column.setPreferredWidth(150); //
            } else if (i == 4) {
                column.setPreferredWidth(200);
            } else if (i == 5) {
                column.setPreferredWidth(45);
            } else if (i == 6) {
                column.setPreferredWidth(45);
            } else {
                column.setPreferredWidth(150);
            }

        }

        JScrollPane scrollPane = new JScrollPane(table);

        add(scrollPane);

    }
}

声明

public class DBProjektController {
    public void insert(String f1, String f2, String f3, String f4, String f5, String f6, String f7) {
        if (f1.isEmpty()) {
            System.out.println("The ID cannot be null!");
        } else {

            try {
                Connection con;
                con = DriverManager.getConnection("jdbc:ucanaccess://C:/Projekt/DB/erfasst.accdb");
                Statement statement = con.createStatement();
                statement.executeUpdate("INSERT INTO ERFASST(VORNAME, NAME, STRASSE, ORT, ABGESTIMMT_PROJEKT, PROJEKTID, STERNE) VALUES('" + f1 + "','" + f2 + "','" + f3 + "','" + f4 + "','" + f5 + "','" + f6 + "','" + f7 + "')");

            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
        }
    }
}

来自我的MainClass的片段(我删除了一些与我的问题无关的部分)

public class Gui extends JFrame {
    /**
         * 
         */

    private static final long serialVersionUID = 1L;
    // Frame
    JFrame frame = new JFrame();

    // Erstelle JTabbedPane
    JTabbedPane jtp = new JTabbedPane();

    // Panel
    JPanel panel = new JPanel();



public Gui() {



        frame.getContentPane().add(jtp);
JPanel pAbstimmung = new JPanel(null);

TabelleErfasst tabelleErfasst = new TabelleErfasst();

        tabelleErfasst.setSize(950, 350);
        tabelleErfasst.setLocation(35, 80);
        JButton bSterneExport = new JButton("Sterne exportieren");
        bSterneExport.setSize(300, 60);
        bSterneExport.setLocation(682, 480);
        JButton bEintragNeu = new JButton("Ausgewählten Eintrag löschen");
        bEintragNeu.setSize(300, 60);
        bEintragNeu.setLocation(358, 480);
        JButton bEintragLoeschen = new JButton("Alle Einträge löschen");
        bEintragLoeschen.setSize(300, 60);
        bEintragLoeschen.setLocation(35, 480);
        JLabel lZettelSession = new JLabel("Alle eingetragenen Stimmzettel der aktuellen Session");

// Inhalte zu Abstimmungsergebnis
        pAbstimmung.add(tabelleErfasst);
        pAbstimmung.add(bEintragLoeschen);
        pAbstimmung.add(bEintragNeu);
        pAbstimmung.add(bSterneExport);
        pAbstimmung.add(lZettelSession);
jtp.addTab("Abstimmungsergebnis", pAbstimmung);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


bStimmeKontrolle.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                new Thread(new Runnable() {
                    public void run() {
                        new DBProjektController().insert(erfasstVorname.getText(), erfasstNachname.getText(),
                                erfasstStrasse.getText(), erfasstStadt.getText(), projektAuswahl.getText(),
                                erfasstId.getText(), sterneGruppe.getSelection().getActionCommand());

                    }
                }).start();
                TabelleErfasst tabelleErfasst  = new TabelleErfasst();


                jtp.setSelectedIndex(3);
            }
        });

        // Titel des Fensters
        frame.setTitle("AfVF");
        // Gr��e des Fensters
        frame.setResizable(false);

        frame.pack();
        frame.setSize(1024, 650);
        frame.setVisible(true);

    }

}

0 个答案:

没有答案