2011-06-04 324 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