2012-07-12 190 views
-2

我寫了這段代碼以便將數據存儲在數據庫中,並使用NetBeans程序查看結果。但沒有輸出,也沒有編譯錯誤。我可以知道有什麼問題嗎?是否有任何丟失的jar文件從數據庫中檢索數據..

package database; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.sql.*; 

public class Database { 

    static Connection conn; 

    public Database() { 
    } 

    public static Connection getConnection() { 
     return conn; 
    } 

    public static void main(String[] args) throws SQLException { 

     try { 
      Class.forName("oracle.jdbc.driver.OracleDriver"); 
     } catch (ClassNotFoundException e) { 
      System.out.println("Could not load the driver"); 
     } 
     String user = "SYSTEM"; //readEntry("Enter userid: "); 
     String pass = "mevooo";//readEntry("Enter password: "); 
     conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", user, pass); 

     String query = "select Ref, Title,Risk_Rating, Root_cause, Impact, Likelihood, Efforts, Finding, Implication, Recommendation from Lack_Of_Defense "; 
     PreparedStatement myStatement = conn.prepareStatement(query); 
     myStatement.clearParameters(); 
     ResultSet myResult = myStatement.executeQuery(query); 

     while (myResult.next()) { 
      String Ref = myResult.getString(1); 
      String Title = myResult.getString(2); 
      String Risk_Rating = myResult.getString(3); 
      String Root_cause = myResult.getString(4); 
      String Impact = myResult.getString(5); 
      String Likelihood = myResult.getString(6); 
      String Efforts = myResult.getString(7); 
      String Finding = myResult.getString(8); 
      String Implication = myResult.getString(9); 
      String Recommendation = myResult.getString(10); 

      System.out.println(" ============================================================="); 
      System.out.println(" ===================== Lack of defense Table =================="); 
      System.out.println(" Ref : " + Ref); 
      System.out.println(" Title " + Title); 
      System.out.println(" Risk Rating " + Risk_Rating); 
      System.out.println(" Root cause " + Root_cause); 
      System.out.println(" Impact " + Impact); 
      System.out.println(" Likelihood " + Likelihood); 
      System.out.println(" Efforts " + Efforts); 
      System.out.println(" Finding " + Finding); 
      System.out.println(" Implication " + Implication); 
      System.out.println(" Recommendation " + Recommendation); 
     } 
    } 
} 
+0

沒有代碼。我們如何期望知道你做了什麼並幫助你? – MadProgrammer 2012-07-12 08:13:08

+0

請刪除空行並註釋掉代碼。儘可能減小程序的大小,而不要刪除錯誤。 – Keppil 2012-07-12 08:16:19

+0

嘗試逐步調試,您可以解決它 – Jason 2012-07-12 08:35:26

回答

0

問題可能是低於線

 myStatement.clearParameters(); 
     ResultSet myResult = myStatement .executeQuery(query); 

是在clearParameters()真正需要的?另外,從executeQuery()方法中刪除查詢參數。這不是必需的,因爲您已將其設置在PreparedStatement中。

0

好像你的結果集是空的,你有沒有試過在SQL客戶端應用程序來執行查詢?

+0

是的我在SQL命令行中寫了這個語句,我所有的結果都在行中。 – 2012-07-12 08:33:14