2016-09-28 29 views
0

我只能從當我使用select columnname from tablename一個SQL查詢執行的結果,但不是當我使用select * from tablename無法獲得SQL查詢的結果是,使用*(沒有列名)

public static void connectAndExecute(String host, String uName, String uPass, String sqlQuerry){ 
    try { 
     DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 
    } catch (SQLException e) {   
     e.printStackTrace(); 
    } 
    try{ 
    Connection con=DriverManager.getConnection(host, uName, uPass); 
    String[] conData = null; 
    Statement stmt = null;  
    try { 
     stmt = con.createStatement(); 
     ResultSet rs = stmt.executeQuery(sqlQuerry); 
     /*this is the place of my problem*/ 
    } 
     catch (SQLException e) {    
     e.printStackTrace(); 
    } 
    } 
    catch (SQLException err){ 
     System.out.println(err.getMessage()); 
    } 
+0

什麼阻止你得到的結果嗎?什麼是實際問題? – David

+0

你看到一些例外嗎?在這種情況下,請發佈堆棧跟蹤 – AlexR

回答

1

使用ResultSet.class方法時得到想要的結果。您可以提供列名稱或列索引。

getInt(int columnIndex)

獲取指定列的值的 此ResultSet對象的當前行中在Java編程語言中int。

getString(int columnIndex)

檢索指定列的 此ResultSet對象的Java編程語言中String的當前行中的值。

這裏是你如何實現它:

while(rs.next()){ 
//Retrieve by column index 
int id = rs.getInt(1); //assume id is at 1st index 
int age = rs.getInt(4); //assume age is at 4th index 
String first = rs.getString(2); // assume first name is at 2nd index 
String last = rs.getString(3); // assume last name is at 3rd index 
//Display values 
System.out.print("ID: " + id); System.out.print(", Age: " + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); 
System.out.println(" End of one row"); 
} 
+0

謝謝,這真的很有幫助。它也顯示了我的問題是多麼愚蠢 –

+0

快樂的編碼!如果真的有幫助,您可以將其標記爲正確答案。 – Shaggy

+0

兄弟沒問題.. every1必須從某處開始。 – Shaggy