2013-04-03 38 views
0

美好的一天人們。 我有一個關於java類的問題。我創建了一個Java類的數據庫(MySQL的)上執行查詢,但它總是返回值,而不是STRING下面的代碼:Java類返回空值

類文件: sql.java

public class sql { 
Connection conn; 
Statement stmt; 
ResultSet rs; 
String sql; 
String result; 

public String test(String username){ 
    try{ 
     stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); 
     sql = "SELECT * from user_account where username='"+username+"'"; 
     rs = stmt.executeQuery(sql); 
     rs.next(); 

     result = rs.getString("username"); 

     return result; 
    } 
    catch(Exception e){ 
     return e.getMessage(); 
    } 
} 

}

主要文件:

public class MainFrame extends javax.swing.JFrame { 
    String result; 

    public MainFrame() { 

     dbConnect connect = new dbConnect(); 
     connection = connect.connect(); 
     conn = (Connection) connection[0]; 
     rs = (ResultSet) connection[1]; 

     sql query_result = new sql(); 
     result = query_result.test("test"); 
     System.out.println(result); 
}..... 

在此先感謝 P.S.如果我使用主文件中的類,代碼將起作用。我正在使用netbeans。

+0

你知道什麼'rs.getString(「username」);'得到你嗎? –

+0

你確定你想要的列名是'「username」嗎? – Makoto

+0

@SamIam,除非db用他的'WHERE'子句做一些非常奇怪的事情,否則應該返回'username'(''test''')。 –

回答

0
if(rs.next()) 
{ 
    result = rs.getString("username"); 
System.out.println(result); 
} 
+0

它仍然返回「null」 –

0

我只是想通了。我在該類中添加了「Connection conn,Resultset rs」作爲參數。