| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1253 人关注过本帖
标题:servlet查询数据库问题
取消只看楼主 加入收藏
lewis0323
Rank: 2
等 级:新手上路
威 望:3
帖 子:102
专家分:0
注 册:2006-7-20
收藏
 问题点数:0 回复次数:5 
servlet查询数据库问题

我有一个JSP页面中有7个FORM (里面有学号 姓名 年龄等) 想不管输入哪个都可以从数据库中查询
但是Servlet编译成功 可是JSP页面运行时显示
description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
people.query.doPost(query.java:51)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

请问这是什么问题啊?是不是SQL语句写的不对???

package people;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class query extends HttpServlet{
private static final String CONTENT_TYPE="text/html;charset=GB2312";

public void init() throws ServletException{
super.init();}

//执行HTTP POST请求
public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
PrintWriter out=response.getWriter();
response.setContentType(CONTENT_TYPE);
out.print("<html>");
out.print("<body>");

//获得客户端用post方法传来的数据
String number=request.getParameter("number");
System.out.println(number);
String name=request.getParameter("name");
System.out.println(name);
String sex=request.getParameter("sex");
System.out.println(sex);
String nianlin=request.getParameter("nianlin");
System.out.println(nianlin);
String jiguan=request.getParameter("jiguan");
System.out.println(jiguan);
String yuanxi=request.getParameter("yuanxi");
System.out.println(yuanxi);

Connection conn=null;
Statement stmt=null;
ResultSet rs=null;


try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");}
catch(ClassNotFoundException e){e.printStackTrace();}

try{
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=university","sa","");
String sql="select * from student where number like "+"'"+number+"'";
rs=stmt.executeQuery(sql);
out.print("<table border>");
out.print("<tr>");
out.print("<th width=100>"+"学号");
out.print("<th width=100>"+"姓名");
out.print("<th width=30>"+"性别");
out.print("<th width=50>"+"年龄");
out.print("<th width=100>"+"籍贯");
out.print("<th width=100>"+"院系");
out.print("</tr>");

//循环显示结果
while(rs.next())
{
out.print("<tr>");
number=rs.getString(1);
out.print("<td>"+number+"</td>");

name=rs.getString(2);
out.print("<td>"+name+"</td>");

sex=rs.getString(3);
out.print("<td>"+sex+"</td>");

nianlin=rs.getString(4);
out.print("<td>"+nianlin+"</td>");

jiguan=rs.getString(5);
out.print("<td>"+jiguan+"</td>");

yuanxi=rs.getString(6);
out.print("<td>"+yuanxi+"</td>");
out.print("</tr>");
}


out.print("</table>");
conn.close();
}catch(SQLException e){}
out.print("</html>");
out.print("</body>");
}


public void destroy(){
}
}

搜索更多相关主题的帖子: servlet 数据库 java HttpServlet service 
2006-10-23 13:11
lewis0323
Rank: 2
等 级:新手上路
威 望:3
帖 子:102
专家分:0
注 册:2006-7-20
收藏
得分:0 
我先去上课  希望回来后就可以解决这个问题了  谢谢各位高手~~~
2006-10-23 13:13
lewis0323
Rank: 2
等 级:新手上路
威 望:3
帖 子:102
专家分:0
注 册:2006-7-20
收藏
得分:0 

好 我试试

2006-10-23 15:43
lewis0323
Rank: 2
等 级:新手上路
威 望:3
帖 子:102
专家分:0
注 册:2006-7-20
收藏
得分:0 

我在SQL前面加了stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Servlet可以运行了 但是里面的表格显示不出来 谁能帮帮我啊 急

2006-10-23 16:20
lewis0323
Rank: 2
等 级:新手上路
威 望:3
帖 子:102
专家分:0
注 册:2006-7-20
收藏
得分:0 
现在运行后显示一行这个
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]?? 'number' ???

请问是那里出错了呢
2006-10-23 16:56
lewis0323
Rank: 2
等 级:新手上路
威 望:3
帖 子:102
专家分:0
注 册:2006-7-20
收藏
得分:0 

可以运行了 但是显示不了中文 学号和年龄可以查询了 但是有中文都显示 ? 怎么办啊?

2006-10-23 17:34
快速回复:servlet查询数据库问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016706 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved