小知识点:
隐藏域
隐藏域随着表单的提交而传值
文本框默认选中
selected="selected"
主页面新闻阅读绑定
连接jdbc步骤同前
同时扩大作用域
//扩大作用域
String ntitle="";//标题
String nauthor="";//作者
String naddtime="";//时间
String ncontent="";//内容
//遍历结果集
while(rs.next()){
ntitle=rs.getString(3);
nauthor=rs.getString(4);
naddtime=rs.getString(6);
ncontent=rs.getString(8);
}
之后将<%=ncontent %> 代入指定位置
删除数据
重新定义sql语句
//接收nid request
String nid=request.getParameter("nid");
//jdbc 根据nid删除
//两个字符串
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME="oracle.jdbc.driver.OracleDriver";
//加载驱动
Class.forName(CNAME);
//创建连接
Connection con=DriverManager.getConnection(URL, "scott", "688090xpy");
//定义sql语句
String sql="delete from news0330 where nid="+nid;
//获得执行对象
PreparedStatement ps=con.prepareStatement(sql);
//开始执行
int n=ps.executeUpdate();
//关闭资源
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
//判断
if(n>0){
//说明删除成功
response.sendRedirect("/Web04/news/admin.jsp");
}
else{
//说明删除失败
out.print("<script>alert('删除失败');location.href='admin.jsp';</script>");
}
修改
先将内容查询出来
//定义sql语句
sql="select * from topic0330 order by tid ";
//获得执行对象
ps=con.prepareStatement(sql);
//开始执行 获得结果集
rs=ps.executeQuery();
//遍历结果集
while(rs.next()){
//判断如果是当前新闻的主题编号的话选中
if(rs.getInt(1)==tid){
out.print("<option selected='selected' value='"+rs.getString(1)+"' selected='selected'>"+rs.getString(2)+"</option>");
}
else{
out.print("<option value='"+rs.getString(1)+"' selected='selected'>"+rs.getString(2)+"</option>");
}
}
再进行修改
①先接收
//接收表单的值 根据name取value值
String nid=request.getParameter("nid");
String ntid=request.getParameter("ntid");
String ntitle=request.getParameter("ntitle");
String nauthor=request.getParameter("nauthor");
String nsummary=request.getParameter("nsummary");
String ncontent=request.getParameter("ncontent");
String naddtime=new Date().toLocaleString();//系统当前时间
②执行修改
//开始执行增加操作
String sql="update news0330 set tid=?,ntitle=?,nauthor=?,nsummary=?,ncontent=?,naddtime=? where nid=?";
//重新执行sql语句
PreparedStatement ps=con.prepareStatement(sql);
//给占位符赋值 7个
ps.setInt(1, Integer.parseInt(ntid));//String-->int
ps.setString(2, ntitle);
ps.setString(3, nauthor);
ps.setString(4, nsummary);
ps.setString(5, ncontent);
ps.setString(6, naddtime);
ps.setInt(7, Integer.parseInt(nid));
//开始执行
int n=ps.executeUpdate();//影响行数