新闻页面的数据维护主要包括:添加新闻、修改新闻、删除新闻、查询新闻
此图为新闻系统的管理页面
第一个是新闻的添加:主要代码为
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//设置编码格式
request.setCharacterEncoding("utf-8");
//接收添加页面到的数据,获取新闻主题编号
int tid = Integer.valueOf(request.getParameter("ntid"));
//获取新闻标题
String ntitle = request.getParameter("ntitle");
//获取新闻作者
String nzz = request.getParameter("nauthor");
//获取新闻摘要
String nzy = request.getParameter("nsummary");
//获取新闻内容
String ncontent = request.getParameter("ncontent");
//注册驱动类
Class.forName("oracle.jdbc.driver.OracleDriver");
//连接数据库
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection con = DriverManager.getConnection(url, "scott", "tiger");
//获取新闻分类的下一个编号
int nextNid = 1;
PreparedStatement ps = con.prepareStatement("select max(nid) from news");
ResultSet rs = ps.executeQuery();
if(rs.next()){
nextNid=rs.getInt(1)+1;
}
//添加新闻
ps = con.prepareStatement("insert into news values(?,?,?,?,?,sysdate,0,?)");
//给占位符赋值
ps.setInt(1, nextNid);
ps.setInt(2, tid);
ps.setString(3, ntitle);
ps.setString(4, nzz);
ps.setString(5, nzy);
ps.setString(6, ncontent);
//执行sql语句
int i = ps.executeUpdate();
if(i>0){
//成功回到新闻系统页面
out.print("");
}else{
//失败回到添加新闻页面
out.print("");
}
%>
添加新闻效果图如下:
第二个是新闻的删除:首先给新闻系统绑定数据,连接ORCL数据库。
注意:要导包!
<%
//接收要删除的新闻编号
int nid = Integer.valueOf(request.getParameter("nid"));
//注册驱动类
Class.forName("oracle.jdbc.driver.OracleDriver");
//连接数据库
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection con = DriverManager.getConnection(url, "scott", "tiger");
//创建对象
PreparedStatement ps = con.prepareStatement("delete news where nid="+nid);
//执行sql语句
int i = ps.executeUpdate();
if(i>0){//成功删除回到主页面,并且刷新数据
out.print("");
}else{
out.print("");
}
%>
修改、详情,明日更新!敬请期待!
第三个是修改新闻页面:首先获取到修改页面的值。
修改页面的跳转流程:admin.jsp(主页面)===》update_news.jsp==》doupdate.jsp
重点代码展示:1、主页面中的部分代码:
'>修改
2、update_news.jsp页面的代码:重点是利用隐藏标签来换取新闻编号nid
//利用隐藏标签传值,无视觉效果,但可传值。
有value属性值,可以绑定值
修改新闻:
<%
//接收要修改的编号,把字符串转换为整数编号
int nid = Integer.valueOf(request.getParameter("nid"));
//注册驱动类
Class.forName("oracle.jdbc.driver.OracleDriver");
//连接数据库
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection con = DriverManager.getConnection(url, "scott", "tiger");
//创建PreparedStatement对象
PreparedStatement ps = con.prepareStatement("select * from news where nid="+nid);
//执行sql语句
ResultSet rs = ps.executeQuery();
//声明变量,定义属性
int tid = 0;
String ntitle = "";
String nzz = "";
String nzy = "";
String ncontent = "";
if (rs.next()) {
tid = rs.getInt("tid");
ntitle = rs.getString("ntitle");
nzz = rs.getString("nzz");
nzy = rs.getString("nzy");
ncontent = rs.getString("ncontent");
}
%>
第四个是根据标题查找新闻:主要是获取标题关键字str,模糊查询仍回到主页面admin
//若输入值为空,则关键字为空,查询到所有新闻;若不为空,则根据关键字进行查询
<%
//获取模糊查询的关键字
String str = request.getParameter("str");
if(str==null){//若str为空,则关键字为空,查询到所有新闻;若不为空,则根据关键字进行查询
str = "";
}
String sql = "select * from news where ntitle like '%"+str+"%' order by nid desc";
//注册驱动类
Class.forName("oracle.jdbc.driver.OracleDriver");
//连接数据库
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection con = DriverManager.getConnection(url, "scott", "tiger");
//创建PreparedStatement对象
PreparedStatement ps = con.prepareStatement(sql);
//执行sql语句
ResultSet rs = ps.executeQuery();
while(rs.next()){
%>
-
">
<%=rs.getString("ntitle") %>
作者:<%=rs.getString("nzz") %>
'>修改
' onclick='return clickdel()'>删除
<%} %>
第五个阅读新闻:重点代码为:
<%
//接收新闻编号
int nid = Integer.valueOf(request.getParameter("nid"));
//注册驱动类
Class.forName("oracle.jdbc.driver.OracleDriver");
//连接数据库
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection con = DriverManager.getConnection(url, "scott", "tiger");
//创建PreparedStatement对象
PreparedStatement ps = con.prepareStatement("select * from news where nid="+nid);
//执行sql语句
ResultSet rs = ps.executeQuery();
//声明变量,定义属性
String ntitle = "";
String nzz = "";
String ndate = "";
String ncontent = "";
if(rs.next()){
ntitle = rs.getString("ntitle");
nzz = rs.getString("nzz");
ndate = rs.getDate("ndate")+"";//直接转
ncontent = rs.getString("ncontent");
}
%>
=======================================================================
<%=ntitle %>
<%=nzz %>
<%=ndate %>
<%=ncontent %>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)