2014-04-11 31 views
1

這裏之後更新是代碼數據庫是沒有得到執行該程序

import java.sql.*; 

public class Insertdb { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     try 
     { 
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     Connection con= DriverManager.getConnection("jdbc:odbc:Dsn1"); 
     PreparedStatement ps= con.prepareStatement("insert into Table1 values (?,?,?)"); 
     ps.setInt(1,1); 
     ps.setString(2,"Sachin"); 
     ps.setInt(3,25000); 
     int i=ps.executeUpdate(); 
     if(i>0) 
     { 
      System.out.println(i +"records inserted"); 
     } 

     } 
     catch(Exception e) 
     { 
      System.out.println(e); 
     } 

     // TODO code application logic here 
    } 
} 

中使用的數據的基礎上是MS訪問2013年 上述代碼的控制檯上的輸出是:插入1個記錄

但是,當我打開數據庫記錄沒有插入。代碼中有任何錯誤嗎?如果不是什麼可能出錯?

+0

可能你需要提交事務 – xwhyz

+0

如何提交事務? – user3249242

+0

關閉所有連接,結果集和語句,然後檢查。 –

回答

0

也加在最後。

finally{ 
    con.commit(); 
    ps.close(); 
    con.close(); 
    } 
0

從程序到數據庫的任何事務都必須提交以反映在JAVA中。 嘗試做con.commit();

0

嘗試在你的代碼最終使用,如果你與數據庫連接或執行任何事try塊finally塊總是executed.so您可以使用finally塊關閉數據庫連接和關閉的文件operations.Because該文件並提交或回滾數據庫記錄。