首页 > 编程知识 正文

jsp的数据库结果集,jsp显示数据库内容

时间:2023-12-29 13:16:55 阅读:330336 作者:UJKQ

本文目录一览:

jsp中查询数据库得到的结果集rs中有多行数据,怎么取出或者打印其中某一行数据的某一列?

用while遍历,从第一行开始,如果想到指定行,需要做判断或直接执行代码

while(rs.next()){

这里写你要获取那列的类型,如果是String则

String

a=rs.getString(0);//0表示第1列,以此类推

}

jsp中怎么把结果集作为session传值

好像你的意思是一个一个的放在session里?这样的话,不如把它们放到集合里,然后把集合放到session里。

List list=new ArrayList();

while(rs.next()){

PersonBean pb=new PersonBean();//一条记录对应一个对象

pb.setXx();

....

list.add(pb);

}

return list;

该方法返回一个集合,你应该是在servlet或者action类里调用该方法,然后得到session对象然后标记这个list。request.getSession.setAttribute("list",list);

因为session生命周期比较长,可以通过List list=(List)request.getSession.getAttribute("list");在其他的控制层使用。

页面要显示list里的内容,用foreach标签迭代

jsp中如何把servlet中获得的一个数据库结果集传到jsp页面中,然后再jsp页面中显示结果集的内容?

jsp页面传值个servlet可通过form提交,servlet可通过request.getRequestDispatcher("跳转的jsp页面")进行页面跳转,值通过request.setAttribute("name",value)进行传递。

你的代码没问题啊,你现在是说test.jsp如何获得这些值么?

如何在jsp页面获取数据库某个值

最简单的JSP页面中的数据库操作方法:

%@ page

language="java"

contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"

%

%@page import="java.sql.*"%

center

H1 font color="blue" size="12"管理中心/font/H1

HR /

table width="80%" border="1"

tr

thID/th

th书名/th

th作者/th

th价格/th

th删除/th

/tr

%

// 数据库的名字

String dbName = "zap";

// 登录数据库的用户名

String username = "sa";

// 登录数据库的密码

String password = "123";

// 数据库的IP地址,本机可以用 localhost 或者 127.0.0.1

String host = "127.0.0.1";

// 数据库的端口,一般不会修改,默认为1433

int port = 1433;

String connectionUrl = "jdbc:sqlserver://" + host + ":" + port + ";databaseName=" + dbName + ";user=" + username

+ ";password=" + password;

//

//声明需要使用的资源

// 数据库连接,记得用完了一定要关闭

Connection con = null;

// Statement 记得用完了一定要关闭

Statement stmt = null;

// 结果集,记得用完了一定要关闭

ResultSet rs = null;

try {

// 注册驱动

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

// 获得一个数据库连接

con = DriverManager.getConnection(connectionUrl);

String SQL = "SELECT * from note";

// 创建查询

stmt = con.createStatement();

// 执行查询,拿到结果集

rs = stmt.executeQuery(SQL);

while (rs.next()) {

%

tr

td

%=rs.getInt(1)%

/td

td

a href="prepareupdate?ID=%=rs.getInt("ID")%" target="_blank"%=rs.getString(2)%/a

/td

td

%=rs.getString(3)%

/td

td

%=rs.getString(4)%

/td

td

a href="delete?ID=%=rs.getInt("ID")%" target="_blank"删除/a

/td

/tr

%

}

} catch (Exception e) {

// 捕获并显示异常

e.printStackTrace();

} finally {

// 关闭我们使用过的资源

if (rs != null)

try {

rs.close();

} catch (Exception e) {}

if (stmt != null)

try {

stmt.close();

} catch (Exception e) {}

if (con != null)

try {

con.close();

} catch (Exception e) {}

}

%

/table

a href="insert.jsp"添加新纪录/a

/center

在jsp页面展示从数据库查询出来的数据?

在获取完所有的list后只需要截取你所需要的一部分list就可以了,所以要知道你所需要的是从哪里开始,到哪里结束。

有很多种方法,如果只是JSP里的话可以再次遍历获取的所有list集合,然后把满足条件的截取出来,开始的list下标应该是:(你要查询的页数-1)*页面要显示的数据条数,也就是你这里的(page-1)*pageRows,结束的地方也就是page*pageRows-1了。//这样应该可以写出来了吧

建议把这个方法封装到一个类里面,一个方法就实现一种功能。当然这是比较麻烦的,现在流行框架,以后会学到的,在hibernate框架里用query语句很容易就实现了,现在时间多,

多看看hibernate框架吧,推荐你一本书,hibernate in action,有中文版的。这个是你们以后入门了hibernate后看的。

public List listOrderByItem(int pageRows,int page) { //page是要显示的页数,pageRows是你要显示的行数

Session session = this.getSession();//获取hibernate的session,hibernate自动生成的DAO里包含

String hql = "from TBL_storage as tbl_s order by item";//hql语句

Query query = session.createQuery(hql);//hibernate的query,通过session创建

query.setFirstResult((page-1)*pageRows);//设置开始的下标

query.setMaxResults(pageRows);//设置每页显示的行数

return query.list();//得到所需要的结果集

在JSP中怎样调用java中的结果集

你是用servlet吗。

那把list放到request里。

然后请求转发到你的JSP页面上,就能访问了。

在SERVLET里:

request.setAttribute(“data”, arrayList);

request.getRequestDispatcher("showList.jsp").forward(request, response);

页面上(showList.jsp)

%

ListString data = (ArrayListString)request.getAttribute("data");//这一步要强转

for(String str : data){

out.println(str);

}

%

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。