网站首页  |   业界社区  |  电信社区  |  技术社区   |  极客社区  |  游戏社区  |  生活社区   |   科技博客  |   同事录
TechWeb-技术社区



标题: [Jsp] 高手帮忙!!!急!JSP查询数据库问题!!
麻雀杀手
TW高级会员
Rank: 4


UID 117324
精华 10
积分 595
帖子 299
阅读权限 50
注册 2007-4-1
状态 离线
发表于 2008-6-30 13:51 资料 短消息 加为好友
高手帮忙!!!急!JSP查询数据库问题!!

为什么我的数据库查询输出只能输出4行啊`` 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛1^2q7c8]${
我数据库里面总共19行啊```
'E9z"P4^8`:F%p我的代码哪有问题啊?
.g2B'W:V,b%B%i9f v$X(b%mtech.techweb.com.cn<%@page contentType="text/html;charset=gb2312" language="java" import="java.sql.*" errorPage=""%>
"^(] i3[2C-{(],X;UTechWeb-技术社区<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛6w$r&@6j4I+E#x2_+T
  "http:www.w3.or/TR/html4/loose.dtd">
"F6}2H(`!_%X<html>
.z0I3Y#U!E(Z2E K9b9bTechWeb-技术社区<body> 0~"s3K"p!N
<table border="2" align="center">
p!A8S t"f;p:b6K,`TechWeb-技术社区  <tr>
5^8G1n H,x1@1Y6I2U*v U      <td>id </td>
#{2` r)P-E4f%p"d      <td>name </td> 2X)D!n%X)R,v#e3l
      <td>sex </td>
%i5g/f!?9G$O!A'j:k'`      <td>jig </td> 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛:t+p&h(b4S0O&D,_
  </tr> 8Q6d,`-e8N4~,y0G5V
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();//加载驱动程序 "i4V/i(P5Q+Z8n)q
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=my_db";//数据库连接串 tech.techweb.com.cn7j;`'~3x-X;M,k
String user="sa";
9f.g5J$S0K&Z-m5stech.techweb.com.cnString password="123"; TechWeb-技术社区-p1B:_-])H2C#r%O
Connection conn=DriverManager.getConnection(url,user,password);//创建数据库连接 5{(x:W6T$g8[
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛-k!t/H3d&Y6j N
String sql="select top 19* from stu_info"; tech.techweb.com.cn!_(R&M6Y%L8V
ResultSet rs=stmt.executeQuery(sql);//执行sql语句
'D5W6U;_,K%L!\while(rs.next()) {%> #[5p0v$u-\&a a
    <tr> TechWeb-技术社区4t0@/~.~*L(\
    <td> <%=rs.getString("id")%> </td> 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛-C A7x5z.K/M;w*W0A
    <td> <%=rs.getString("name")%> </td>
7w2M/r)o0~&c9K.ztech.techweb.com.cn    <td> <%=rs.getString("sex")%> </td> )`:L3B;x,^;]4T4i7p
    <td> <%=rs.getString("jig")%> </td> ;O:H5K)H1A8W.c9F!k8|1I
    </tr> &b1b/v+K5L1f-y&f
  <%}%>
7`7q,~8T.f  <%out.print("查询结果如下:");%> tech.techweb.com.cn#A"b.W2V4s9X.P,i*]
  <%rs.close();
&Z7l"B:E6[3b  stmt.close(); TechWeb-技术社区2|(g*y2D(~%n,D4V1b3z+L
  conn.close();
9@*o"d!G/u)i#kTechWeb-技术社区  %> (}.N;u6l-c1z7q*^
  </table>
)U+E*o&W&U2g程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛  </body> 0~-~$y1z7i-^.i1j
  </html>

引用 回复 顶部
游客
未注册









发表于 2008-7-4 12:15 资料 短消息 加为好友
思考两个问题:
1.第四行或第五行的数据会不会有问题?
2.你可以看看网页源代码是不是完整的(最后一行是不是 </html>)?

我很怀疑你的程序在第四五行的时候出现了异常,最好加上try{}catch(){}块,看是不是真的有错误出现。

引用 回复 顶部
游客
未注册









发表于 2008-7-4 12:18 资料 短消息 加为好友
错误提示如下:

exception

org.apache.jasper.JasperException: Exception in JSP: /myapp/sql.jsp:24

21: while(rs.next()) {%>
22:    <tr>
23:    <td> <%=rs.getString("id")%> </td>
24:    <td> <%=rs.getString("name")%> </td>
25:    <td> <%=rs.getString("sex")%> </td>
26:    <td> <%=rs.getString("jig")%> </td>
27:    </tr>


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC]Column index 2 is out of range.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
org.apache.jsp.myapp.sql_jsp._jspService(sql_jsp.java:102)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Column index 2 is out of range.
com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.base.BaseResultSet.validateColumnIndex(Unknown Source)
com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
org.apache.jsp.myapp.sql_jsp._jspService(sql_jsp.java:70)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.

引用 回复 顶部
游客
未注册









发表于 2008-7-4 12:18 资料 短消息 加为好友
你直接在数据库客户端 执行 select top 19* from stu_info

会返回多少条记录

引用 回复 顶部
游客
未注册









发表于 2008-7-4 12:18 资料 短消息 加为好友
那些Exception我看起来比较头晕,我搞DB2和MySQL比较多。
建议JDBC的代码需要用try catch包起来,而且写一块儿。

看这Exception的样子是这个SQL语句查出来的数据只有一(或二)列,而你却去取第二(或三)列

引用 回复 顶部
游客
未注册









发表于 2008-7-4 12:18 资料 短消息 加为好友
Column index 2 is out of range.

你的数据库有几个字段

引用 回复 顶部
游客
未注册









发表于 2008-7-4 12:19 资料 短消息 加为好友
你数据库里的字段只有一个,你想得到第二个的时候,报"Column  index  2  is  out  of  range."越界了.

引用 回复 顶部
游客
未注册









发表于 2008-7-4 12:19 资料 短消息 加为好友
Java code

String sql="select * from stu_info";

引用 回复 顶部
游客
未注册









发表于 2008-7-4 12:19 资料 短消息 加为好友
你直接在查询分析器里执行有问题么?一般SQL问题都可以用查询分析器先来检验一下你的SQL语句查出来的是不是有问题

引用 回复 顶部
游客
未注册









发表于 2008-7-4 12:19 资料 短消息 加为好友
导致找不到的原因 可能是你数据库里没有

引用 回复 顶部
查看积分策略说明快速回复主题
选项 标题 Smilies
禁用 URL 识别
禁用 Smilies
禁用 Discuz!代码
使用匿名发帖
使用个人签名
接收新回复邮件通知
内容





当前时区 GMT+8, 现在时间是 2008-9-6 01:39
京ICP证060517号

本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0 © 2001-2008 Comsenz Inc.
Processed in 0.031273 second(s), 7 queries

清除 Cookies - 联系我们 - TechWeb.com.cn - Archiver - WAP