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)