2012-03-25 6 views
-2

Hallo Ich habe diese Methode unten, die Werte in meine Datenbank einfügen sollte. Jedoch bin ich eine Null-Zeiger-Ausnahme auf der PreparedStatement Linie bekommenNull-Zeiger-Ausnahme beim Einfügen in die Datenbank Java

public void insertReservation(String name, String phone, int size, String date, String time, String additionalRequirements, String memberID, String themeID) throws SQLException, ClassNotFoundException { 

     try { 
      String strQuery = "INSERT INTO reservation VALUES (?, ? ,?, TO_DATE(?, 'dd-MMM-yy'), ?, ?, ?, ?)"; 
      PreparedStatement stmt = conn.prepareStatement(strQuery);/ 
      stmt.setString(1, name); 
      stmt.setString(2, phone); 
      stmt.setInt(3, size); 
      stmt.setString(4, date); 
      stmt.setString(5, time); 
      stmt.setString(6, additionalRequirements); 
      stmt.setString(7, memberID); 
      stmt.setString(8, themeID); 
      results = stmt.executeQuery(); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     }//end try 
    } 

Bin ich das richtig in meine Datenbank einfügen? Ich bin nicht sicher, warum ich diesen Nullzeigerausführungsfehler bekomme.

+2

Hoffnung erstellt haben, wenn Sie uns nicht über die Ausnahme niemand sagen etwas helfen kann. – usr

+0

Nicht wirklich sicher, warum Sie eine Nullpointer-Ausnahme erhalten, aber überprüfen Sie [diese Frage] (http://stackoverflow.com/questions/1023835/why-am-i-getting-a-null-pointer-exception-from -dieser Java-Code). – keyser

+0

Versuchen Sie, die Anführungszeichen zu umgehen \ ' –

Antwort

7

ist null, drucken Sie ihren Wert.

0

Sie wissen nicht, aber versuchen, diese

String strQuery = "insert into reservation(ColumnName1, ColumnName2 ,ColumnName3,) values(?,?,) ";?

und am Ende wird es nur dann ausgeführt werden(); wie diese stmt.execute();

executeQuery(); Anweisung arbeitet mit ausgewählten Query Nur

Zweitens haben Sie Conn-Wert in Konstruktor oder Methode beschrieben, in dem je Klasse Sie die Abfrage verwenden, wenn Sie als conn = S zugewiesen haben qlConnection.ConnecrDb();

unten ist die SqlConnection Seperate Klasse i

public class SqlConnection { 

    Connection conn=null; 

    public static Connection ConnecrDb(){ 
     try 
     { 
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     Connection conn= DriverManager.getConnection("jdbc:odbc:Test","",""); 
     return conn; 
     } 
     catch(Exception e) 
     { 
     JOptionPane.showMessageDialog(null, e); 
     return null; 
     } 
    } 
} 

es Ihnen helfen,

Verwandte Themen