2012-07-12 191 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