Java 准备好的语句插入字符串&引用;输入到数据库中,而不是null
我这里的问题是,如果我试图在应用程序中留下空格,这段代码会在txtIme.getText()和txtPrezime.getText()行向数据库中插入一个空字符串,因此我的if语句无法将.executeUpdate()识别为0,因此不会打印任何更改。如果JTextField中留有空格,我是否可以更改它,以便应用程序可以访问我的if语句?多谢各位Java 准备好的语句插入字符串&引用;输入到数据库中,而不是null,java,prepared-statement,jtextfield,Java,Prepared Statement,Jtextfield,我这里的问题是,如果我试图在应用程序中留下空格,这段代码会在txtIme.getText()和txtPrezime.getText()行向数据库中插入一个空字符串,因此我的if语句无法将.executeUpdate()识别为0,因此不会打印任何更改。如果JTextField中留有空格,我是否可以更改它,以便应用程序可以访问我的if语句?多谢各位 private void btnDodajActionPerformed(java.awt.event.ActionEvent evt) {
private void btnDodajActionPerformed(java.awt.event.ActionEvent evt) {
try {
izraz = veza.prepareStatement("insert into autor (ime,prezime)" + "value (?,?)");
izraz.setString(1, txtIme.getText());
izraz.setString(2, txtPrezime.getText());
if (izraz.executeUpdate()== 0) {
JOptionPane.showMessageDialog(getRootPane(), "Nothing was changed.");
} else {
ucitajIzBaze();
ocistiPolja();
}
izraz.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
如果你不想使用任何库
private void btnDodajActionPerformed(java.awt.event.ActionEvent evt) {
try {
if(txtIme.getText() == null || "".equals(txtIme.getText())) return;
if(txtPrezime.getText() == null || "".equals(txtPrezime.getText())) return;
izraz = veza.prepareStatement("insert into autor (ime,prezime)" + "value (?,?)");
izraz.setString(1, txtIme.getText());
izraz.setString(2, txtPrezime.getText());
if (izraz.executeUpdate()== 0) {
JOptionPane.showMessageDialog(getRootPane(), "Nothing was changed.");
} else {
ucitajIzBaze();
ocistiPolja();
}
izraz.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
但是我建议使用任何与字符串相关的库,比如
if(StringUtils.isBlank(txtIme.getText())) return;
if(StringUtils.isBlank(txtPrezime.getText())) return;
它在apache common lang软件包中。如果您不想在字符串为空时在数据库中插入行,为什么要用
If
语句检查字符串是否为空,然后跳过插入?谢谢,对代码做了一些更改,效果非常好!欢迎光临。但你不应该在这里问这样的问题。你应该从你自己的角度进行研究。