我编写了这段代码来编辑名为RegisterationForm的数据库的现有表。我正在使用Jframe
表单,但在按下编辑按钮运行程序后,错误会在“我为sourceName输入的单词”附近显示 incorrect syntax
。
即使我没有更改任何内容并按编辑,也会出现错误。
我试过调试,但我找不到有什么问题。
reg
是组合框的名称我想从中选择一个现有的RegisterationForm id来编辑其记录。
我的代码:
private void editActionPerformed(java.awt.event.ActionEvent evt) {
if(l==0)
{
JOptionPane.showMessageDialog(rootPane,"choose a number", WIDTH);
return;
}
if(id.getText().equalsIgnoreCase(""))
{
JOptionPane.showMessageDialog(rootPane,"retry", WIDTH);
return;
}
String s="update RegisterationForm set id='"+id.getText()+"' , date="+date.getText()+" , sourceName="+sourceName.getText()+" , sourceCode='"+sourceCode.getText()+"' where id='"+reg.getSelectedItem().toString()+"'";
try
{
DBlabprj.stmt.execute(s);
JOptionPane.showMessageDialog(rootPane,"Done.");
this.dispose();
this.setVisible(false);
}
catch (Exception e)
{
JOptionPane.showMessageDialog(rootPane,e.getMessage());
}
}
private void showActionPerformed(java.awt.event.ActionEvent evt) {
reg.setEnabled(false);
l=1;
String s="select * from RegisterationForm where id='"+reg.getSelectedItem().toString()+"'";
try
{
DBlabprj.rs=DBlabprj.stmt.executeQuery(s);
DBlabprj.rs.next();
id.setText(DBlabprj.rs.getString("id"));
date.setText(DBlabprj.rs.getString("date"));
sourceName.setText(DBlabprj.rs.getString("sourceName"));
sourceCode.setText(DBlabprj.rs.getString("sourceCode"));
}
catch (Exception e)
{
JOptionPane.showMessageDialog(rootPane,e.getMessage());
}
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
reg.removeAllItems();
String s="";
s="select id from RegisterationForm order by id";
try {
DBlabprj.rs=DBlabprj.stmt.executeQuery(s);
while(DBlabprj.rs.next())
{
reg.addItem(DBlabprj.rs.getString("id"));
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(rootPane,ex.getMessage());
Logger.getLogger(NewForm.class.getName()).log(Level.SEVERE, null, ex);
}
}