2011-06-04 541 views
1

我有一個登錄arraylist在那裏我有存儲用戶內部使用ArrayList的使用下面的MySQL查詢登錄IDmysql的select語句

代碼:

query = "select LoginID from issuedeposit id where id.DueDate < CURDATE()"; 

    result = statement.executeQuery(query); 

    while(result.next()) 
    { 
     String loginid = result.getString(1); 
     loginarray.add(loginid); 
    } 

現在我想使用存儲在above arraylist的登錄ID值取用戶emailid表other表。我使用下面的查詢

代碼:

for(int i=0;i<=loginarray.size();i++) 
    { 

     res = statement1.executeQuery("select EmailID form studentaccount sa where sa.LoginID = '"+ loginarray.get(i) +"' "); 

     String email = res.getString(1); 
     emailarray.add(email);  

    } 

,但我在上面的查詢得到錯誤。那麼我是否正確使用了for loop或者它應該在查詢中使用......? 我使用JDBC和MySQL

+0

你已經得到了答案。我會建議嘗試準備好的語句並綁定變量。一個快速的起點在這裏:http://stackoverflow.com/questions/687550/preparedstatements-and-performance – Jayan 2011-06-04 16:15:34

回答

2
res = statement1.executeQuery("select EmailID form studentaccount sa 
where sa.LoginID = '"+ loginarray.get(i) +"' "); 

應該

res = statement1.executeQuery("select EmailID FROM studentaccount sa 
where sa.LoginID = '"+ loginarray.get(i) +"' "); 
+0

OOPS ........我沒有看到這一點......感謝它現在的工作...:d – RanRag 2011-06-04 13:56:07