<%=ntitle%> | |
<%=ndate%> | <%=nzz %>> |
<%=ncontent %> | |
暂无评论! | |||||
详情查看与修改的基本sql代码与上一章差不多,这里就不做细节讲解。然后呢也不用担心,在后面会有该代码展示。
例如:
它提交的结果得到的是a1,不是a2。
这是一个隐藏标签,可以将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="";
}
不然就是根据你的输入查找。
刚进去时:
搜索后:
<%=rs.getString("ntitle") %>
<%=rs.getString("ntitle") %>
在主页面(模糊查询那)的标题前 加
效果就是点一下标题如:吃什么比较健康,就会跳转。
详情页面代码如下:
重点主要在前面:
首先呢要规范文本框、文本域 ;
再用七步走 获取 它们的数据 添加到数据库
新闻中国
<%
//接收要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);
%>
<%=ntitle%>
<%=ndate%>
<%=nzz %>>
<%=ncontent %>
<%} %>
暂无评论!
看一下效果图:
首先从主页面获取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~