新闻(project)的数据维护(增删改查)

一.首先我们来回顾一些重要的知识--数据库的连接步骤   

  1. 导入驱动类(黄色部分是由OracleDriver导包),导入准备好的jar包,并且必须放在 WEB-INF 中的 lib 里面去 

Class.forName("oracle.jdbc.driver.OracleDriver")

     2.连接数据库(orcl为库名

String url="jdbc:oracle:thin:@localhost:1521:orcl";

     3. 获得连接(scott为用户名或管理员名,tiger为密码

Connection con=DriverManager.getConnection(url,"scott","tiger");

      4.创建PreparedStatement对象,并给占位符赋值

 PreparedStatement ps=con.prepareStatement("sql语句")
    ps.setString(第几个占位符字段名);

     5. 执行sql语句

   增删改:int i=ps.executeUpdate();
   : ResultSet rs = ps.executeQuery();

     6.判断 / 处理结果 (注意:跳转的两种方法)

    if(rs.next()){
        //转发
        request.getRequestDispatcher("页面一.jsp").forward(request, response);
    }else{
        //失败
        out.print("<script>alert('用户名或密码错误,请重新登录');location.href='页面二.jsp'</script>");
    }

     7. 关闭连接

if(con!=null){
   con.close();
 }
if(ps!=null){ 
   ps.close();
 }
if(rs!=null){
   rs.close();

 } 


二.新闻(project)的增删改查 

  1. 添加数据页面  
<%@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"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>添加主题--管理后台</title>
<link href="../CSS/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
  <div id="welcome">欢迎使用新闻管理系统!</div>
  <div id="nav">
    <div id="logo"><img src="../images/logo.jpg" alt="新闻中国" /></div>
    <div id="a_b01"><img src="../images/a_b01.gif" alt="" /></div>
  </div>
</div>
<div id="admin_bar">
  <div id="status">管理员: 登录  &#160;&#160;&#160;&#160;<a href="#">login out</a></div>
  <div id="channel"> </div>
</div>
<div id="main">
  <div id="opt_list">
    <ul>
      <li><a href="news_add.jsp">添加新闻</a></li>
      <li><a href="../admin.jsp">编辑新闻</a></li>
      <li><a href="#">查找新闻</a></li>
      <li><a href="topic_add.jsp">添加主题</a></li>
      <li><a href="#">编辑主题</a></li>
    </ul>
  </div>
  <div id="opt_area">
    <h1 id="opt_type"> 添加新闻: </h1>
    <form action="doadd_news.jsp" method="post">
      <p>
        <label> 主题 </label>
        <select name="ntid">
          <option value="1">选择</option>
        <%
       Class.forName("oracle.jdbc.OracleDriver");
   	//连接数据库
   	String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
   	Connection con = DriverManager.getConnection(url, "scott", "tiger");
   	//创建对象
   	PreparedStatement ps = con.prepareStatement("select * from newsfl");
      ResultSet rs=ps.executeQuery();
      while(rs.next()){
   	%>     
     <option value="<%=rs.getInt(1)%>"><%=rs.getString(2) %></option>
     
    <%} %>
        </select>
      </p>
      <p>
        <label> 标题 </label>
        <input name="ntitle" type="text" class="opt_input" />
      </p>
      <p>
        <label> 作者 </label>
        <input name="nauthor" type="text" class="opt_input" />
      </p>
      <p>
        <label> 摘要 </label>
        <textarea name="nsummary" cols="40" rows="3"></textarea>
      </p>
      <p>
        <label> 内容 </label>
        <textarea name="ncontent" cols="70" rows="10"></textarea>
      </p>
      <p>
        <label> 上传图片 </label>
        <input name="file" type="file" class="opt_input" />
      </p>
      <input name="action" type="hidden" value="addnews">
      <input type="submit" value="提交" class="opt_sub" />
      <input type="reset" value="重置" class="opt_sub" />
    </form>
  </div>
</div>
<div id="site_link"> <a href="#">关于我们</a><span>|</span> <a href="#">Aboue Us</a><span>|</span> <a href="#">联系我们</a><span>|</span> <a href="#">广告服务</a><span>|</span> <a href="#">供稿服务</a><span>|</span> <a href="#">法律声明</a><span>|</span> <a href="#">招聘信息</a><span>|</span> <a href="#">网站地图</a><span>|</span> <a href="#">留言反馈</a> </div>
<div id="footer">
  <p class="">24小时客户服务热线:010-68988888  &#160;&#160;&#160;&#160; <a href="#">常见问题解答</a> &#160;&#160;&#160;&#160;  新闻热线:010-627488888<br />
    文明办网文明上网举报电话:010-627488888  &#160;&#160;&#160;&#160;  举报邮箱:<a href="#">jubao@jb-aptech.com.cn</a></p>
  <p class="copyright">Copyright &copy; 1999-2009 News China gov, All Right Reserver<br />
    新闻中国   版权所有</p>
</div>
</body>
</html>

<%@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"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
int sid=211;
String ntitle = request.getParameter("ntitle");
String nzz = request.getParameter("nzz");
String nzy = request.getParameter("nzy");
String nco = request.getParameter("ncontent");
 
 
//连接数据库
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
Connection con = DriverManager.getConnection(url, "scott", "tiger");
 
/*
	查询到用户的最大编号
	最大编号+1,做为新添加的用户的编号
*/
 
//这里的代码是用来 得到最新编号的
int nextId=1;//做为新用户的编号
PreparedStatement ps = con.prepareStatement("select max(newsid) from newsb");
//执行sql语句
ResultSet rs= ps.executeQuery();
if(rs.next()){
	//查询到最大的编号,加1,就是新数据的编号
	nextId = rs.getInt(1)+1;
}
 
//这里的代码 开始执行添加用户操作
ps = con.prepareStatement("insert into newsb values(?,?,?,?,?,sysdate,0,?)");
ps.setInt(1, nextId);
ps.setInt(2,sid);
ps.setString(3, ntitle);
ps.setString(4, nzz);
ps.setString(5, nzy);
ps.setString(6, nco);
 
 
//执行sql语句
int i = ps.executeUpdate();
 
if(i>0){
	out.print("<script>alert('添加成功');location.href='./admin.jsp'</script>");
}else{
	out.print("<script>alert('添加失败');location.href='add_news.jsp'</script>");
}
 
 
 
%>
</body>
</html>

      2. 删除数据

function clickdel(){
		return confirm("删除请点击确认");
	}	
 
//删除按钮 dodel帮助删除 rs.getInt(1)传Id
 
 <a href='dodel.jsp?newid=<%=rs.getInt(1) %>' onclick='return clickdel()'>删除</a>  

      3. 修改数据

<body>
<div id="header">
  <div id="welcome">欢迎使用新闻管理系统!</div>
  <div id="nav">
    <div id="logo"><img src="images/logo.jpg" alt="新闻中国" /></div>
    <div id="a_b01"><img src="images/a_b01.gif" alt="" /></div>
  </div>
</div>
<div id="admin_bar">
  <div id="status">管理员: 登录  &#160;&#160;&#160;&#160;<a href="#">login out</a></div>
  <div id="channel"> </div>
</div>
<div id="main">
  <div id="opt_list">
    <ul>
      <li><a href="news_add.jsp">添加新闻</a></li>
      <li><a href="#">编辑新闻</a></li>
      <li><a href="#">查找新闻</a></li>
      <li><a href="topic_add.jsp">添加主题</a></li>
      <li><a href="#">编辑主题</a></li>
    </ul>
  </div>
  <div id="opt_area">
    <h1 id="opt_type"> 修改新闻: </h1>
    <%
    String nid = request.getParameter("newid");
	//把字符串转换为整数编号
	int newid =Integer.valueOf(nid);
    %>
    <form action="doupdatejsp.jsp?newid=<%=newid %>" method="post">
      <p>
        <label> 主题 </label>
        <select name="ntid">
          <option value="1">选择</option>
        <%
       Class.forName("oracle.jdbc.OracleDriver");
   	//连接数据库
   	String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
   	Connection con = DriverManager.getConnection(url, "scott", "tiger");
   	//创建对象
   	PreparedStatement ps = con.prepareStatement("select * from newsfl");
     ResultSet rs=ps.executeQuery();
      while(rs.next()){
   	%>     
     <option value="<%=rs.getInt(1)%>"><%=rs.getString(2) %></option>
     
    <%} %>
        </select>
      </p>
      <p>
        <label> 标题 </label>
        <input name="ntitle" type="text" class="opt_input" />
      </p>
      <p>
        <label> 作者 </label>
        <input name="nauthor" type="text" class="opt_input" />
      </p>
      <p>
        <label> 摘要 </label>
        <textarea name="nsummary" cols="40" rows="3"></textarea>
      </p>
      <p>
        <label> 内容 </label>
        <textarea name="ncontent" cols="70" rows="10"></textarea>
      </p>
      <p>
        <label> 上传图片 </label>
        <input name="file" type="file" class="opt_input" />
      </p>
      <input name="action" type="hidden" value="addnews">
      <input type="submit" value="提交" class="opt_sub" />
      <input type="reset" value="重置" class="opt_sub" />
    </form>
  </div>
</div>
<div id="site_link"> <a href="#">关于我们</a><span>|</span> <a href="#">Aboue Us</a><span>|</span> <a href="#">联系我们</a><span>|</span> <a href="#">广告服务</a><span>|</span> <a href="#">供稿服务</a><span>|</span> <a href="#">法律声明</a><span>|</span> <a href="#">招聘信息</a><span>|</span> <a href="#">网站地图</a><span>|</span> <a href="#">留言反馈</a> </div>
<div id="footer">
  <p class="">24小时客户服务热线:010-68988888  &#160;&#160;&#160;&#160; <a href="#">常见问题解答</a> &#160;&#160;&#160;&#160;  新闻热线:010-627488888<br />
    文明办网文明上网举报电话:010-627488888  &#160;&#160;&#160;&#160;  举报邮箱:<a href="#">jubao@jb-aptech.com.cn</a></p>
  <p class="copyright">Copyright &copy; 1999-2009 News China gov, All Right Reserver<br />
    新闻中国   版权所有</p>
</div>
</body>

<body>
<%
String nid = request.getParameter("newid");
//把字符串转换为整数编号
int newsid =Integer.valueOf(nid);
String ntitle = request.getParameter("ntitle");
String nzz = request.getParameter("nzz");
String nzy = request.getParameter("nzy");
String nco = request.getParameter("ncontent");
 
 
//连接数据库
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
Connection con = DriverManager.getConnection(url, "scott", "tiger");
 
/*
	查询到用户的最大编号
	最大编号+1,做为新添加的用户的编号
*/
 
//这里的代码是用来 得到最新编号的
int nextId=1;//做为新用户的编号
PreparedStatement ps = con.prepareStatement("select max(newsid) from newsb");
//执行sql语句
ResultSet rs= ps.executeQuery();
if(rs.next()){
	//查询到最大的编号,加1,就是新数据的编号
	nextId = rs.getInt(1)+1;
}
 
//这里的代码 开始执行添加用户操作
ps = con.prepareStatement("update newsb set newstitle=?,newszz=?,newscontent=?, newszy=? where newsid="+newsid);
 
ps.setString(1, ntitle);
ps.setString(2, nzz);
ps.setString(3, nco);
ps.setString(4, nzy);
 
 
//执行sql语句
int i = ps.executeUpdate();
 
if(i>0){
	out.print("<script>alert('修改成功');location.href='admin.jsp'</script>");
}else{
	out.print("<script>alert('修改失败');location.href='admin.jsp'</script>");
}

%>
</body>

      4.查看数据

 <%
       Class.forName("oracle.jdbc.OracleDriver");
   	//连接数据库
   	String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
   	Connection con = DriverManager.getConnection(url, "scott", "tiger");
   	//创建对象
   	PreparedStatement ps = con.prepareStatement("select * from newsb where '+col+' like '%"+str+"%'");
      ResultSet rs=ps.executeQuery();
      while(rs.next()){
   	%>     
   	<li><%=rs.getString(3) %><span>作者:<%=rs.getString(4) %> 
   	                              
        &#160;&#160;&#160;&#160;
       </span> </li>
      <li class='space'></li>
    <%} %>

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

隔竹观尘世

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值