Devo cancellare delle righe di un database in mysql, nel programma inserisco il nome e mi cancella i report con quel come inserito
codice:Nel mio database ho una tabella calendario dove c'è il campo NomeC(VarChar)-------------------------------------------------------------------------------------- CODICE: package mondialcar; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JTextArea; /** * * @author Backtrack5 */ public class Database_DelEventi extends JFrame{ Connection con = null; Statement stmt = null; ResultSet rs = null; PreparedStatement pst = null; String hostName="locahost"; String dbPort = "3306"; String databaseName="mondialcar"; String dbUser="root"; String dbPassword="ciao"; String jdbc_driver = "com.mysql.jdbc.Driver"; String name; private JFrame f=new JFrame(); public Database_DelEventi(String n){ name=n; connect(hostName,dbPort,databaseName,dbUser,dbPassword); } public void connect(String hostName,String dbPort,String databaseName,String dbUser,String dbPassword){ try { Class.forName(jdbc_driver); String connectionString = "jdbc:mysql://localhost/" + databaseName+ "?user=" + dbUser + "&password=" + dbPassword + "&useUnicode=true&characterEncoding=UTF-8"; con = DriverManager.getConnection(connectionString); if(con != null) { System.out.println("Connesso"); } Statement SQLStatement = con.createStatement(); // generate query String Query = "Delete from calendario where NomeC ="+name+"" ; // get result code int SQLStatus = SQLStatement.executeUpdate(Query); if(SQLStatus != 0) { JOptionPane.showMessageDialog(null, "Cancellazione avvenuta", "Info", JOptionPane.INFORMATION_MESSAGE); } } catch (SQLException ex) { Logger.getLogger(Database_DelEventi.class.getName()).log(Level.SEVERE, null, ex); } catch (ClassNotFoundException ex) { Logger.getLogger(Database_DelEventi.class.getName()).log(Level.SEVERE, null, ex); } } }
Ecco a voi l'errore
GRAVE: null
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorEx ception: Unknown column 'Smith' in 'where clause'
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:41 1)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:1054)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:4187)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:4119)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:25 70)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java :2731)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionIm pl.java:2809)
at com.mysql.jdbc.StatementImpl.executeUpdate(Stateme ntImpl.java:1811)
at com.mysql.jdbc.StatementImpl.executeUpdate(Stateme ntImpl.java:1725)
at mondialcar.Database_DelEventi.connect(Database_Del Eventi.java:119)
at mondialcar.Database_DelEventi.<init>(Database_DelE venti.java:46)
at mondialcar.Del_Evento.actionPerformed(Del_Evento.j ava:107)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.jav a:6516)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3320)
at java.awt.Component.processEvent(Component.java:628 1)
at java.awt.Container.processEvent(Container.java:222 9)
at java.awt.Component.dispatchEventImpl(Component.jav a:4872)
at java.awt.Container.dispatchEventImpl(Container.jav a:2287)
at java.awt.Component.dispatchEvent(Component.java:46 98)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:4422)
at java.awt.Container.dispatchEventImpl(Container.jav a:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719 )
at java.awt.Component.dispatchEvent(Component.java:46 98)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:735)
at java.awt.EventQueue.access$200(EventQueue.java:103 )
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 705)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:91)

Rispondi quotando