10,606
社区成员
发帖
与我相关
我的任务
分享
package JavaBeans;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;
public class PagingNews extends DataDao {
public News findByIdNews(int news_id){
News news = null;
String sql = "select * from essay where id=?";
Connection conn = DataDao.getConn();
PreparedStatement ps = null;
try {
ps = conn.prepareStatement(sql);
ps.setInt(1, news_id);
ResultSet rs = ps.executeQuery();
if(rs.next()){
news = new News();
news.setNews_id(rs.getInt(1)); //将数据库表相应列数据 setters到bean内
news.setNews_title(rs.getString(3));
news.setNews_mark(rs.getString(6));
}
rs.close();
ps.close();
} catch (Exception e) {
e.printStackTrace();
} finally{
this.closeConn(conn);
}
return news;
}
/**
* 根据新闻编号,得到下一遍的新闻信息
* @param news_id 新闻编号
* @return news 新闻信息实体bean对象
* */
public News findNextNews(int news_id){
News news = null;
String sql = "select top 1 * from essay where id>?";
Connection conn = DataDao.getConn();
PreparedStatement ps = null;
try {
ps = conn.prepareStatement(sql);
ps.setInt(1, news_id);
ResultSet rs = ps.executeQuery();
if(rs.next()){
news = new News();
news.setNews_id(rs.getInt(1));
news.setNews_title(rs.getString(3));
news.setNews_mark(rs.getString(6));
}
rs.close();
ps.close();
} catch (Exception e) {
e.printStackTrace();
} finally{
this.closeConn(conn);
}
return news;
}
/**
* 根据新闻编号,得到上一遍的新闻信息
* @param news_id 新闻编号
* @return news 新闻信息实体bean对象
* */
public News findPreNews(int news_id){
News news = null;
/*提示:
* 如果你不是用access数据库,order by news_id desc可取消掉,则rs.next()需改成rs.previous()
* 改成rs.previous()报异常时则需要添加相应游标
* 原因:因为access数据库不支持rs.previous()
* */
String sql = "select top 1 * from essay where id<? order by id desc";
Connection conn = DataDao.getConn();
PreparedStatement ps = null;
try {
ps = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ps.setInt(1, news_id);
ResultSet rs = ps.executeQuery();
if(rs.next()){
news = new News();
news.setNews_id(rs.getInt("id"));
news.setNews_title(rs.getString("title"));
news.setNews_mark(rs.getString("emark"));
}
rs.close();
ps.close();
} catch (Exception e) {
e.printStackTrace();
} finally{
this.closeConn(conn);
}
return news;
}
}
<%
/*获取请求参数 新闻编号*/
int news_id = Integer.parseInt(tid); //类型转换
PagingNews pagin = new PagingNews(); //实例化PagingNews类
News news = pagin.findByIdNews(news_id); //得到新闻信息
News next1 = pagin.findNextNews(news_id); //获取下一篇新闻信息
News pre = pagin.findPreNews(news_id); //获取上一篇新闻信息
%>
<p class="down">
上一篇:
<%
if (pre==null) {
out.print("没有上一篇了");
} else {
out.print("<a href=news2.jsp?id="+pre.getNews_id()+"&lx="+pre.getNews_mark()+">" + pre.getNews_title() + "</a>");
}
%>
<br />
<br />
下一篇:
<%
if (next1 == null) {
out.print("没有下一篇了");
} else {
out.print("<a href=news2.jsp?id="+next1.getNews_id()+"&lx="+pre.getNews_mark()+">" + next1.getNews_title() + "</a>");
}
%>
</p>