2014-01-21 241 views
0

我想插入MySql數據庫中的行與Java Netbeans中的正常程序的Mysql連接,但是當我運行此代碼時,我的數據庫保持不受影響。我已與Netbeans和Mysql建立連接,它正在工作精細。Java Netbeans MySql數據庫連接

代碼:

import java.sql.*; 

    public class MySqlConnection { 


     static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
     static final String DB_URL = "jdbc:mysql://localhost:3306/migration"; 
     static final String USER = "root"; 
     static final String PASS = "ngts12345"; 

     public static void main(String[] args) { 

      Connection conn = null; 

      try{ 
      Class.forName("com.mysql.jdbc.Driver"); 
      System.out.println("Connecting to a selected database..."); 
      conn = DriverManager.getConnection(DB_URL, USER, PASS); 
      System.out.println("Connected database successfully..."); 
      System.out.println("Inserting records into the table..."); 

      String sql = "INSERT INTO document (document_id, document_name, format)" + 
      "VALUES (?, ?, ?)"; 
      PreparedStatement preparedStatement = conn.prepareStatement(sql); 
      preparedStatement.setInt(1, 1); 
      preparedStatement.setString(2, "Test2"); 
      preparedStatement.setString(3, "Test3"); 
      preparedStatement.executeUpdate(); 
      preparedStatement.close(); 
      conn.close(); 
     }catch(SQLException se){ 
      //Handle errors for JDBC 

     }catch(Exception e){ 
      //Handle errors for Class.forName 

     } 
    } 
    } 
+0

具有u檢查日誌? –

回答

0

沒有空間後format)values

更改此行

String sql = "INSERT INTO document (document_id, document_name, format)" + 
     "VALUES (?, ?, ?)"; 

String sql = "INSERT INTO document(document_id, document_name, format) " + 
     "VALUES (?, ?, ?)"; 
0

注意預paredStatement.executeUpdate()返回true(記錄插入,更新或刪除成功)或false(不成功)。因此,我建議打印出結果以查看它是否有效。

至於沒有得到錯誤消息,你是否正在使用異常並且不打印出錯誤?在你的catch塊中,使用e.printStackTrace()來查看錯誤是什麼。

+0

[executeUpdate()](http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html#executeUpdate())返回int not boolean(true或false) – SpringLearner

0

嘗試這樣做:

preparedStatement.executeUpdate(sql); 

,你也應該指定數據庫

String sql = "INSERT INTO database_name.document (document_id, document_name, format)" +"VALUES (?, ?, ?)"; 
0
enter code here 
try{  
Class.forName("com.mysql.jdbc.Driver"); // MySQL database connection 
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306","root",""); 
String sql = "select * from 'table_name'.database_name where user=? and pass=?"; 
    pst = conn.prepareStatement(sql); 
    rs= pst.executeQuery();}