有谁能帮我看看这段代码为什么不能修改数据库里的数据!!!
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) { try{
Connection con = DBControl.connectToDb();
Statement stmt = con.createStatement();
// int a=this.jTable2.getValueAt(jTable2.getSelectedRow(),0));//
stmt.executeUpdate("exec UPDATE studentmaset("+this.jTextField4.getText()+","+this.jTextField5.getText()+", "+this.jTextField6.getText()+","+this.jTextField1.getText()+"),"+this.jTable2.getValueAt(jTable2.getSelectedRow(),0));
// System.out.println("程序运行到此处!");
this.getData();
this.getNull();
jOptionPane2.showMessageDialog(this,"修改成功!");
}catch(Exception E){
jOptionPane2.showMessageDialog(this,E.getMessage());
E.printStackTrace();
}
} ==================================================================================
语句
stmt.executeUpdate("exec UPDATE studentmaset("+this.jTextField4.getText()+","+this.jTextField5.getText()+", "+this.jTextField6.getText()+","+this.jTextField1.getText()+"),"+this.jTable2.getValueAt(jTable2.getSelectedRow(),0));
到底为什么出错?该怎么修改!
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) { try{
Connection con = DBControl.connectToDb();
Statement stmt = con.createStatement();
// int a=this.jTable2.getValueAt(jTable2.getSelectedRow(),0));//
stmt.executeUpdate("exec UPDATE studentmaset("+this.jTextField4.getText()+","+this.jTextField5.getText()+", "+this.jTextField6.getText()+","+this.jTextField1.getText()+"),"+this.jTable2.getValueAt(jTable2.getSelectedRow(),0));
// System.out.println("程序运行到此处!");
this.getData();
this.getNull();
jOptionPane2.showMessageDialog(this,"修改成功!");
}catch(Exception E){
jOptionPane2.showMessageDialog(this,E.getMessage());
E.printStackTrace();
}
} ==================================================================================
语句
stmt.executeUpdate("exec UPDATE studentmaset("+this.jTextField4.getText()+","+this.jTextField5.getText()+", "+this.jTextField6.getText()+","+this.jTextField1.getText()+"),"+this.jTable2.getValueAt(jTable2.getSelectedRow(),0));
到底为什么出错?该怎么修改!
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在关键字 'UPDATE' 附近有语法错误。
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeUpdateInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeUpdate(Unknown Source)
===================================================================================以上是NETBeans红色字体显示的,以下是兰色显示的
===================================================================================
at guanli.ShowData.jButton5ActionPerformed(ShowData.java:233)
at guanli.ShowData.access$200(ShowData.java:18)
at guanli.ShowData$3.actionPerformed(ShowData.java:134)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
应该这里出错了吧,
'+this.jTextField5.getText()+'
改成这样试试,
'"+this.jTextField5.getText()+"'
但问题真正的原因不在这里,我试过了,老提示说UPDATE附近有错误!
只有字段没有附值啊
把你的语句先去数据库执行一下,能修改了,再改成java语句
============================
说对了,是他说的那个问题
应该是这个样子
update 表名 set '"+列名1=列名1的值+"', '"+列名2=列名2的值+"','" +列名3=列名3的值+"' where 要修改的表中那一行 ="+要修改的行的主键ID+"============================
谢谢大家!