Java 如何在MySQL中添加列中的数据,但已经设置了一些字符串?
我正在创建一个程序,在这个程序中我应该在数据库中保存数据。我有两个帧,但在一个数据库中只使用一个表,在第一个帧中,我已经在第1-6行保存了数据。现在在第二帧中,我只想在第7-12行添加数据。我该怎么做?或者我应该换一张桌子吗 我是Java的新手,所以帮助会很好 以下是我的保存代码: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
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;