代码如下:测试DB2数据库......... <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import = "java.sql.*" %><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'test7.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->  </head>
  
  <body> 
  <%
  String dbUrl = "jdbc:db2:jspbook";
  String dbUser = "db2admin";
  String dbPassword = "198410";
  Driver db_Driver = (Driver)Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();
  Connection Con = DriverManager.getConnection(dbUrl,dbUser,dbPassword);
  Statement stm = Con.createStatement();
  ResultSet rs = stm.executeQuery("SELECT * FROM student1");
  %>
  <table border bgcolor = "#74bbc0">
   <tr>
   <th width = 100>学号</th>
   <th width = 100>姓名</th>
   <th width = 50>学分</th>
   </tr>
   <% while(rs.next()){ %>
   <tr align = "center">
   <td><%= rs.getString(1) %></td>
   <td><%= rs.getString(2) %></td>
   <td><%= rs.getString(3) %></td>
   </tr>
   <%} %>
  </table>
  <%Con.close(); %>
  </body>
</html>
为什么我想显示三个数据库表格数据,它则多此一举帮我数据库里面的全部全部表格内容都显示出来!我怪他多事!
然而,同一个程序,用SQL JDBC-ODBC桥接显示则是我想要的结果!为什么呢?

解决方案 »

  1.   

    关键用SQL数据库用这个语句就可以显示三表格数据,不会全部显示呢!
      

  2.   

    楼主你table只有三列,怎么显示出来所有的呀??
      

  3.   

    你要显示的是查询出来的2,3,4个字段么??最好需要显示什么就查询什么字段,取的时候最好也根据其字段名来取值。db2没用过,会出现这个问题??反正,sqlserver,mysql,Oracle貌似不出这个问题。。
      

  4.   

    我想,唯一的原因就是你找错jsp了。
      

  5.   

    while(rs.next()){根据条件应该是有记录的话就一直循环输出,你你确定这个不是输出前三数据而不是前三数据吗【  <td> <%= rs.getString(1) %> </td> 
      <td> <%= rs.getString(2) %> </td> 
      <td> <%= rs.getString(3) %> </td> 】
      

  6.   

    是输出前三行数据!但是这个结果太意外!就算while()一直循环完的话,那那个(1)(2)(3)这个序号就没必要了撒?
      

  7.   

    <%= rs.getString(1) %> </td>
      <td> <%= rs.getString(2) %> </td>
      <td> <%= rs.getString(3) %> 
    其中的1  2  3  换成对应的数据库字段名试试
      

  8.   

    LZ都搞错了
    你这段代码显示结果是N行3列数据
    你的行数是数据库里的行数的
    列数是3列
    不要告诉我你不知道行,列是什么哦