jsp新闻的数据(oracle数据库)的模糊查询、详情页面与修改

详情查看与修改的基本sql代码与上一章差不多,这里就不做细节讲解。然后呢也不用担心,在后面会有该代码展示。

一、进入今天的讲解-------先是详情与修改页面中一些小细节:

a.

例如:

它提交的结果得到的是a1,不是a2

b.夸页面传数据的第三种方法:(上一章有另外两种:

这是一个隐藏标签,可以将value的值传递,但是没有任何显示。

c.如果乱码怎么办:

request.setCharacterEncoding("utf-8");

就OK了 ^ ~ ^


二、模糊查询

先看一下代码如下:


		
		
	
    
    <% String title=request.getParameter("input"); System.out.println(title); if(title==null){ title=""; } //连接数据库,查询新闻信息 String url = "jdbc:oracle:thin:@localhost:1521:orcl"; Class.forName("oracle.jdbc.OracleDriver"); Connection con=DriverManager.getConnection(url, "scott", "123"); PreparedStatement ps=con.prepareStatement("select * from news where ntitle like '%"+title+"%'"); ResultSet rs=ps.executeQuery(); while(rs.next()){ /*PreparedStatement ps=con.prepareStatement("select * from news"); ResultSet rs=ps.executeQuery(); while(rs.next()){ */ %>
  • <%=rs.getString("ntitle") %> 作者: <%=rs.getString("nzz") %>      修改     删除
  • <%} %>

分析一下思路:

文本框:用来搜索你想查询的东西

按钮:作用是提交数据

String title=request.getParameter("input");
    	if(title==null){
    		title="";
    	}

作用:接收文本框的内容,判断为空赋值为“”。

注意看中间有/* */符号扩起的内容(被注释),然后找到上面相似代码,

它们的不同是SQL语句的不同,未被注释的代码

即当,title null能查询所有,:

f(title==null){
            title="";
        }

不然就是根据你的输入查找。

刚进去时:

jsp新闻的数据(oracle数据库)的模糊查询、详情页面与修改_第1张图片

 

搜索后:

jsp新闻的数据(oracle数据库)的模糊查询、详情页面与修改_第2张图片

 


三、详情查看

        
        <%=rs.getString("ntitle") %>
         <%=rs.getString("ntitle") %>

在主页面(模糊查询那)的标题前 加 标签跳转页面至详情页面(id的值也会传过去),

效果就是点一下标题如:吃什么比较健康,就会跳转

详情页面代码如下:

重点主要在前面:

首先呢要规范文本框、文本域

再用七步走 获取 它们的数据 添加到数据库




新闻中国




<%
	//接收要xq的新闻编号
	String id=request.getParameter("nid");
	int nid=Integer.valueOf(id);
	String url = "jdbc:oracle:thin:@localhost:1521:orcl";
	Class.forName("oracle.jdbc.OracleDriver");
	Connection con=DriverManager.getConnection(url, "scott", "123");
	PreparedStatement ps=con.prepareStatement("select * from news where nid="+nid);
	ResultSet rs=ps.executeQuery();
	String ntitle="";
	String nzz="";
	String ncontent="";
	String ndate="";
	String nlook="";
	String nzy="";
	while(rs.next()){
		 ntitle=rs.getString(3);
		 nzz=rs.getString(4);
		 ncontent=rs.getString(5);
		 ndate=rs.getString(6);
		nlook=rs.getString(7);
		nzy=rs.getString(8);
	
	
%>





看一下效果图:

jsp新闻的数据(oracle数据库)的模糊查询、详情页面与修改_第3张图片

 


四、修改

首先从主页面获取id跳转到修改页面:

修改

 修改页面:

在这里就要给文本框、文本域赋值;


    

修改新闻:

<% //接收要修改的新闻编号 String id=request.getParameter("nid"); int nid=Integer.valueOf(id); String url = "jdbc:oracle:thin:@localhost:1521:orcl"; Class.forName("oracle.jdbc.OracleDriver"); Connection con=DriverManager.getConnection(url, "scott", "123"); int tid=0; String title=""; String author=""; String content=""; String summary=""; PreparedStatement ps=con.prepareStatement("select * from news where nid="+nid); ResultSet rs=ps.executeQuery(); while(rs.next()){ tid=rs.getInt(2); title=rs.getString(3); author=rs.getString(4); content=rs.getString(5); summary=rs.getString(8); %>

<%} %>

修改页面的操作页面:

在这里重新给文本框、文本域赋值,并且将它们转到数据库。

<% 
    request.setCharacterEncoding("utf-8");
	//接收添加页面的编号
	int nid=Integer.valueOf(request.getParameter("nid"));
	//新闻主题编号
	int tid=Integer.valueOf(request.getParameter("ntid"));
	//新闻标题
	String ntitle=request.getParameter("ntitle");
	//新闻作者
	String nzz=request.getParameter("nauthor");
	//新闻内容
	String nnr=request.getParameter("ncontent");
	//新闻摘要
	String nzy=request.getParameter("nsummary");
	
    String url = "jdbc:oracle:thin:@localhost:1521:orcl";
  	Class.forName("oracle.jdbc.OracleDriver");
  	Connection con=DriverManager.getConnection(url, "scott", "123");
  	//修改新闻
    PreparedStatement ps=con.prepareStatement("update news set tid=?,ntitle=?,nzz=?,ncontent=?,nzy=? where nid="+nid);
	ps.setInt(1, nid);
	ps.setString(2, ntitle);
	ps.setString(3, nzz);
	ps.setString(4, nnr);
	ps.setString(5, nzy);
	//执行sql语句
	int i=ps.executeUpdate();
	if(i>0){
		out.print("");
	}else{
		out.print("");
	}
	
%>

 

最后要拜拜了,今天的内容不多,重要是思路怎么走

baibai~

你可能感兴趣的:(jsp购物车,前端框架,java-ee)