主题:一个数据库内容不显示的问题哦!
Andy2005
[专家分:110] 发布于 2005-07-20 21:19:00
<%@ page import="java.sql.*"%>
<%
Connection con;
Statement sql;
ResultSet rs;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try{
con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
sql=con.createStatement();
rs=sql.executeQuery("select * from students");
out.print("<table border=2 bgcolor=green>");
out.print("<tr>");
out.print("<td width=100>"+"Number"+"</td>");
out.print("<td width=100>"+"Name"+"</td>");;
out.print("<td width=20>"+"Math"+"</td>");
out.print("<td width=20>"+"English"+"</td>");
out.print("<td width=20>"+"Flash"+"</td>");
out.print("</tr>");
while(rs.next())
{
out.print("<tr>");
out.print("<td>"+rs.getString(1)+"</td>");
out.print("<td>"+rs.getString(2)+"</td>");
out.print("<td>"+rs.getInt("Math")+"</td>");
out.print("<td>"+rs.getInt("English")+"</td>");
out.print("<td>"+rs.getInt("Flash")+"</td>");
out.print("</tr>");
}
out.print("</table>");
con.close();
}
catch(SQLException e1){}
%>
我真的不知道我错在哪里哦!真郁闷!这么简单但是我就是不知道我错在那。
回复列表 (共10个回复)
沙发
Andy2005 [专家分:110] 发布于 2005-07-21 09:27:00
各位请帮帮忙哦~
我连接的是SQLServer2000的是数据库。[em18]
用的是JDBC-ODBC桥接器哦~
拜托了!
感激不尽!
板凳
zjjsgxx [专家分:470] 发布于 2005-07-21 11:06:00
JSP程序" out.print("<td width=100>"+"Name"+"</td>");; "本行多了一个分号,不知是源程序有错还是你输入的时候出的错,其它没有问题。我用ACCESS数据库试了一下,一切正常。
你应先检查一下数据源的配置,配置完成后测试一下。
3 楼
hlnccc [专家分:250] 发布于 2005-07-21 14:17:00
我建议你用out.println(rs) 看一下你的rs是不是空的 ,我没用过你的连接方式,建议你用 JDBC Driver链接,jdbc-odbc桥的连接效率很差。有问题可以继续问
4 楼
Andy2005 [专家分:110] 发布于 2005-07-21 16:29:00
我out.println(rs)这个试了!结果不是空的哦!是数据库中的数据,但是我怎么这个JSP页面的数据结果输不出来哦!
各位我帮帮我哦~ 小女子在此先谢过了~
5 楼
Andy2005 [专家分:110] 发布于 2005-07-21 16:35:00
我问下 :hlnccc
我用jsp和SQLserver2000一起连接的,也安装了JDBC驱动程序哦!请问你是不是用这种方法呀!你告诉我你是怎么连接上的哦~!可以详细的说吗?我已经做了2天了,我还是没有连上哦!你可以知道我的心情了吧~
下面是我用JDBC驱动程序连的例题哦~
<body>
<%
Connection conn=null;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();;
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","");
java.sql.Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from students");
while(rs.next())
{
out.println("id is " + rs.getString(1));
out.println("name is " + rs.getString(2));
out.println("name is " + rs.getInt("数学成绩"));
out.println("name is " + rs.getInt("英语成绩"));
out.println("name is " + rs.getInt("物理成绩"));
}
stmt.close();
conn.close();
}
catch(Exception e){}
out.println("rs");
%>
</body>
6 楼
hlnccc [专家分:250] 发布于 2005-07-21 17:38:00
你给我个邮箱地址,我把我的程序给你发过去你看下,贴到这你还得自己再写
顺便把我的邮箱给你,wangzhiguo@east.net
我在上班时上网不方便,但我会经常查看邮箱的
7 楼
Andy2005 [专家分:110] 发布于 2005-07-21 20:05:00
jzhua2006@tom.com
我也是用你说的那种了~用JDBC驱动程序。是不是要配置环境变量呀~还有是要把在Microsoft SQL Server 2000 Driver for JDBC\lib中的三个文件拷贝到jvm的\jre/lib/ext下呀!你是这样做的吗?
8 楼
kingzhm [专家分:450] 发布于 2005-07-25 14:41:00
把那3个驱动拷贝到你工程文件夹下的lib 目录下或在配置环境的之后指向你的工程文件夹也可以,建议第一种
9 楼
kingzhm [专家分:450] 发布于 2005-07-25 14:41:00
把那3个驱动拷贝到你工程文件夹下的lib 目录下或在配置环境的之后指向你的工程文件夹也可以,建议第一种
10 楼
zjjsgxx [专家分:470] 发布于 2005-07-26 09:00:00
作为初学者,我觉得还是用JDBC-ODBC桥连接数据库比较简单,尽管这种方式效率较低,但是相对来说要简单些,容易实现,便于初学者学习。因为这种工作方式与所选数据库管理系统无关,无论是大型、中型或小型数据库管理系统都适用,它只与数据源有关。当然,如果要开发一个应用系统,我们是不会选择这种连接方式的。
我来回复