2013-01-10 6 views
0

Maintenant, je reçois une erreur d'exécution. 'java.lang.UnsupportedOperationException: pas encore implémenté' comment puis-je le restaurer.erreur d'exécution dans la connectivité java mysql

private void btnlogActionPerformed(java.awt.event.ActionEvent evt) { 

    user=txtuser.getText(); 
    char[] pass=jPasswordField1.getPassword(); 
    String passString=new String(pass); 
    try{ 
     Connection con = createConnection(); 
     String sql = "INSERT INTO login(username,Password) VALUES ('" + user + "','" + passString + "')"; 
     Statement st = con.prepareStatement(sql); 
     st.executeUpdate(sql); 
    } 
    catch(Exception e){ 
     JOptionPane.showMessageDialog(null,"Exception: "+ e.toString()); 
    } 
    } 
    public static void main(String args[]) { 
    try { 
     Class.forName("com.mysql.jdbc.Driver"); 
     String connectionUrl = "jdbc:mysql://localhost/Stock?"+ 
     "user=root&password="; 
     Connection con = DriverManager.getConnection(connectionUrl); 
    } catch (SQLException e) { 
     JOptionPane.showMessageDialog(null,"SQL Exception: "+ e.toString()); 
    } catch (ClassNotFoundException cE) { 
     JOptionPane.showMessageDialog(null,"Class Not Found Exception: "+ cE.toString()); 
    } 
    } 
+2

Je pense qu'un full stacktrace serait plus utile. SO pouvez-vous s'il vous plaît ajouter full stacktrace – kaysush

+2

Post plus de code (assez pour que nous puissions voir l'image entière), et toute la trace de la pile. – partlov

+0

avec méthode principale ?? – user1966589

Répondre

1

Ok, j'ai trouvé le problème. Vous avez Statement référence qui pointe à objet PreparedStatement. Mais PreparedStatement n'a pas de méthode execute(String) que vous utilisez.Il a la méthode execute() sans aucun argument. C'est la source du problème. De plus, ce n'est pas la bonne façon d'utiliser PreparedStatement. Vous devez utiliser soit Statement, la façon dont vous avez écrit la requête, ou vous pouvez voir comment PreparedStatements fonctionne here.

+0

pouvez-vous s'il vous plaît corriger mon code .... – user1966589

0

Utilisez java.sql.PreparedStatement de manière correcte, EG:

java.sql.PreparedStatement statement= con.prepareStatement("delete from song where no=(?)"); 

Définissez les variables:

statement.setInt(1,id); 
    statement.setInt(2,...); 
    sta... 

MISE À JOUR:

Un EG demandé:

import com.mysql.jdbc.Statement; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 


public class Insert { 
public static void main(String args[]) throws ClassNotFoundException, SQLException { 


insert("e:/helloJDBC"); 

       } 
public static void insert(String path) throws ClassNotFoundException, SQLException 
{int id=1; 


     Connection con = null; 
    Statement stmt = null; 
    String dbUrl = "jdbc:mysql://127.0.0.1:3306/song";//your db 
String dbClass = "com.mysql.jdbc.Driver"; 

Class.forName(dbClass); 
con = DriverManager.getConnection(dbUrl,"root","sesame");//enter reqd. fields 
    java.sql.PreparedStatement statement= con.prepareStatement("insert into song values(?,?)");//Whatever your query 
    statement.setInt(1,id); 
    statement.setString(2,path);//set as per the order of ? above 
    statement.execute(); 
    System.out.println("1 row effected"); 



    } 


} 
+0

qu'en est-il de l'exécution ?? – user1966589

+0

Voulez-vous un échantillon court exemple? (Et par l'exécution voulez-vous dire ensemble de résultats?) –

+0

ouais je suis un débutant à Java. s'il vous plaît pouvez-vous corriger mon code – user1966589