最后close();
我想将ResultSet结果存放到ArrayList。
这块代码如何写呢。 请教!!请教!!请教!!请教!!请教!!请教!!
try { Class.forName("com.mysql.jdbc.Driver");
Connection conn = conn = DriverManager.getConnection( "jdbc:mysql://**.**.**.**:3306/t**", "root", "******");//**为IP地址和密码..在这我隐藏了
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select * from xxxxxxxx");//XX为数据库表的名称
List list = new ArrayList();
while (rs.next()) {
String name1 = rs.getString("username");
String password1 = rs.getString("password");
UserForm2 abc = new UserForm2(name1, password1);
list.add(abc); //将取出的值压进abc中
}
request.setAttribute("abc", list);
st.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
OK 这就是一个很简单例子.希望对你有所帮助!!!
这样在从JSP页面遍历出abc来就可以了!!!!
很早以前写过....你看看吧
楼上仁兄。 方法不太灵活。 像 String name1 = rs.getString("username"); String password1 = rs.getString("password"); 就必须知道字段名。 ArrayList只存放记录。 需要连字段名也存放其中。 我有c#.net里用的方法。但在JSP中,很多方法没有。哪位帮我改一下。 代码如下: ----------------------------------------------------------------------------------- public ArrayList SelectData(String sql) { ArrayList record = new ArrayList(); try { c.db_Open(ref conn,ref comm); comm.CommandText = sql; SqlDataReader sdr = comm.ExecuteReader(); while(sdr.Read()) { Hashtable field = new Hashtable(); for(int i=0;i<sdr.FieldCount;i++) { field.Add(sdr.GetName(i),sdr.GetSqlValue(i).ToString()); } record.Add(field); } sdr.Close(); c.db_close(ref conn); } catch(Exception e) { throw new DealException(e.ToString()); }
return record; } ----------------------------------------------------------------------