Java 如何在MySQL中添加列中的数据,但已经设置了一些字符串?

Java 如何在MySQL中添加列中的数据,但已经设置了一些字符串?,java,mysql,sql,swing,Java,Mysql,Sql,Swing,我正在创建一个程序,在这个程序中我应该在数据库中保存数据。我有两个帧,但在一个数据库中只使用一个表,在第一个帧中,我已经在第1-6行保存了数据。现在在第二帧中,我只想在第7-12行添加数据。我该怎么做?或者我应该换一张桌子吗 我是Java的新手,所以帮助会很好 以下是我的保存代码: JOptionPane.showMessageDialog(this, "Save this input?", "Confirm", JOptionPane.QUESTION_MESSAGE); s

我正在创建一个程序,在这个程序中我应该在数据库中保存数据。我有两个帧,但在一个数据库中只使用一个表,在第一个帧中,我已经在第1-6行保存了数据。现在在第二帧中,我只想在第7-12行添加数据。我该怎么做?或者我应该换一张桌子吗

我是Java的新手,所以帮助会很好

以下是我的保存代码:

    JOptionPane.showMessageDialog(this, "Save this input?", "Confirm", JOptionPane.QUESTION_MESSAGE);

    strCountry = txtCountry.getText();
    strMembers = txtareaMembers.getText();
    strSong = txtSong.getText();
    strAlbum = txtAlbum.getText();
    Concert = (String) cmbConcerts.getSelectedItem();
    Biblio = (String) cmbBiblio.getSelectedItem();

    btnSubFirst.setEnabled(false);
    btnSubPrev.setEnabled(false);
    btnSubNext.setEnabled(true);
    btnSubLast.setEnabled(true);
    btnSubEdit.setEnabled(false);
    btnSubSave.setEnabled(false);
    btnSubCancel.setEnabled(true);
    txtCountry.setEditable(false);
    txtSong.setEditable(false);
    txtAlbum.setEditable(false);

    SaveData();
public void SaveData() {
    try {
        String strQuery = "INSERT INTO tblband(bandname,label,genre,year,member,album,country,members,song,recent,concert,biblio)" + "VALUES" + "(?,?,?,?,?,?,?,?,?,?,?,?)";
        PreparedStatement st = null;
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/banddb", "root", "");
        st = con.prepareStatement(strQuery);
        st.setString(1, strBand);
        st.setString(2, strRecord);
        st.setString(3, Genre);
        st.setString(4, Year);
        st.setString(5, Member);
        st.setString(6, Album);
        st.setString(7, strCountry);
        st.setString(8, strSong);
        st.setString(9, strAlbum);
        st.setString(10, Concert);
        st.setString(11, Biblio);
        st.setString(12, strMembers);
        st.executeUpdate();
        con.close();
        JOptionPane.showMessageDialog(null, "Data is successfully inserted into database.");
    } catch(Exception e) {
        JOptionPane.showMessageDialog(null, "Error in submitting data." + e);
    }
}

您可以使用更新查询:

UPDATE语句用于更新表中的现有记录

可以找到这方面的工作示例:

注意SQL UPDATE语句中的WHERE子句


WHERE子句指定应更新的一条或多条记录。如果省略WHERE子句,所有记录都将更新

INSERT INTO语句只包含要插入的列(7-12个标题),而不包括(1-12)。您可能还需要在要插入它们的行中添加(而不是创建新行)-因此,请包含where子句我是否可以将插入更改为SELECT*FROM?或者我可以保留它?插入应该可以,但更新查询也可能是您要查找的:(参见下面的答案)本页底部:哦,顺便说一下,在这段代码中,我已经键入了要插入数据的列,但我应该使用什么参数?1-6或7-12?如何从jtextfield设置值,而不是像ContactName='Alfred Schmidt'这样设置值?
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;