2016-04-14 15 views
0

Bir satırda iki yöntem yapmak istesem de bana SQLException verdi. Bana istisna atar goNext().(JavaFx + PHPMyAdmin) Bir satırda iki yöntem (SELECT ve sonra INSERT) yaparken SQL İstisnası

Ben verifyID() yaptı ve ardından goNext()

redline veritabanından İstiyorum SEÇ ve seçilmiş verilerden yeni bir kayıt yapmak.

private void verifyID() { 

    nameTxtFld.setDisable(false); 
    instNameTxtFld.setDisable(false); 
    addTxtArea.setDisable(false); 
    nextButton.setDisable(false); 
    KonekDB.createConnection(); 
    try { 

     String sql = "SELECT * FROM privateguest WHERE idNumber='" + idNumTxtFld.getText() + "' AND idType= '" + idType.getSelectionModel().getSelectedIndex() + "'"; 
     Statement st = conn.createStatement(); 
     ResultSet rs = st.executeQuery(sql); 
     if (rs.next()) { 
      String NM = rs.getString("name"); 
      nameTxtFld.setText(NM); 
      String INS = rs.getString("institution"); 
      instNameTxtFld.setText(INS); 
      String ADD = rs.getString("address"); 
      addTxtArea.setText(ADD); 

     } 
    } catch (SQLException ex) { 
     System.out.println("SQL Exception (verify)"); 
    } 
    KonekDB.closeConnection(); 
} 


private void goNext() { 

    if (nameTxtFld.getText() == null || nameTxtFld.getText().trim().isEmpty() 
      || instNameTxtFld.getText() == null || instNameTxtFld.getText().trim().isEmpty() 
      || addTxtArea.getText() == null || addTxtArea.getText().trim().isEmpty()) { 
     alertDialog.showAndWait(); 
    } else { 
     String satu = idNumTxtFld.getText(); 
     String dua = nameTxtFld.getText(); 
     String tiga = addTxtArea.getText(); 
     String empat = instNameTxtFld.getText(); 
     int delapan = idType.getSelectionModel().getSelectedIndex(); 
     String sembilan = timeStamp.getText(); 
     try { 
      KonekDB.createConnection(); 
      String sql = "INSERT INTO privateguest" 
        + "(idNumber, name, address, institution, idType, startTime) " 
        + "VALUES " 
        + "('" + satu + "','" + dua + "','" + tiga + "','" + empat + "','" + delapan + "','" + sembilan + "')"; 
      Statement st = conn.createStatement(); 
      ResultSet rs = st.executeQuery(sql); 

      if (rs.next()) { 

       Frame1 frame1 = new Frame1(english); 
       this.getScene().setRoot(frame1); 
      } 

     } catch (SQLException ex) { 
      System.out.println("SQL Exception (next)"); 
     } 
     Frame3Private frame3 = new Frame3Private(english); 
     this.getScene().setRoot(frame3); 
    } 

} 

Ve burada İşte benim Veritabanı Bağlantısı sınıfı

package ClientSide; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 

public class KonekDB { 

private static String path = null; 
private static String url_db = null; 
private static String username = null; 
private static String password = null; 
public static Connection conn = null; 

public static Connection createConnection() { 
    try { 
     Class.forName("com.mysql.jdbc.Driver"); 
     path = "localhost/admtamudki"; 
     url_db = "jdbc:mysql://" + path; 
     username = "root"; 
     password = ""; 
     conn = DriverManager.getConnection(url_db, username, password); 
     System.out.println("Koneksi Database Sukses"); 
    } catch (ClassNotFoundException e) { 
     System.out.println("ClassNotFoundException<Wanna Create>"); 
     System.exit(0); 
    } catch (SQLException e) { 
     System.out.println("SQLException<Wanna Create>"); 
     System.exit(0); 
    } 
    return conn; 
} 

public static Connection getConnection() { 
    return conn; 
} 

public static void closeConnection() { 
    try { 
     conn.close(); 
     System.out.println("Database closed"); 
    } catch (SQLException e) { 
     System.out.println("SQLException<Wanna Close>"); 
     System.exit(0); 
    } 
} 
} 

olan yığın izidir. Bunu printStackTrace yaparak buldum.

java.sql.SQLException: Field 'targetedDiv' doesn't have a default value 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814) 
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478) 
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625) 
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2547) 
at com.mysql.jdbc.StatementImpl.executeUpdateInternal(StatementImpl.java:1541) 
at com.mysql.jdbc.StatementImpl.executeLargeUpdate(StatementImpl.java:2605) 
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1469) 
at ClientSide.Frame2Private.goNext(Frame2Private.java:349) 
at ClientSide.Frame2Private.lambda$EventHandler$3(Frame2Private.java:401) 
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) 
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) 
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) 
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) 
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49) 
at javafx.event.Event.fireEvent(Event.java:198) 
at javafx.scene.Node.fireEvent(Node.java:8411) 
at javafx.scene.control.Button.fire(Button.java:185) 
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182) 
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96) 
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89) 
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218) 
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80) 
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) 
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) 
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) 
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) 
at javafx.event.Event.fireEvent(Event.java:198) 
at javafx.scene.Scene$MouseHandler.process(Scene.java:3757) 
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485) 
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762) 
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494) 
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:352) 
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:275) 
at java.security.AccessController.doPrivileged(Native Method) 
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354(GlassViewEventHandler.java:388) 
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389) 
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:387) 
at com.sun.glass.ui.View.handleMouseEvent(View.java:555) 
at com.sun.glass.ui.View.notifyMouse(View.java:937) 
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) 
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) 
at java.lang.Thread.run(Thread.java:745) 

Bilginize: Ben PHPMyAdmin DBMS SQL menüde doğrudan yürütmek eğer SQL Dize iyi çalışma.

+0

Sorunuzu [yığın izleme] 'yi eklemek için lütfen [değiştir] (http://stackoverflow.com/questions/3988788). Göndermiş olduğunuz koddaki hangi satırı istisna attığınızı belirtin. –

+0

@James_D tamam efendim, ben düzenledim. Bana istisna atar goNext(). –

cevap

0

Elhamdulillah nihayet

O 22:00 var ve ben çözmek için sorun bulunamadı. Sorun, PHPMyAdmin'deki alanımın VARSAYILAN DEĞERİNİ AYDINMAMAK İSTEMİYORUM.

Kasa kapalı, dikkatiniz için teşekkürler. Sıkı bir uyku var.