最后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; } ----------------------------------------------------------------------