查询数据库后,结果不显示

时间:2011-12-23 04:27:34

标签: java sql-server sql-server-2005 jsp

尝试使用JSP查询mssql数据库。使用ODBC连接数据库 但是这段代码无法使用tomcat作为server.i在屏幕上打印结果。我不知道在哪里做错了。请帮我解决一下。

 <%@page import="java.sql.*"%>
 <%@ page import="java.util.*" %>

<table border=6>
<tr><th>fname</th><th>lname</th></tr>


<%

  try{
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  Connection con = DriverManager.getConnection("jdbc:odbc:ServerDB","","");
  Statement st=con.createStatement();
  ResultSet rs=st.executeQuery("select * from dbo.company");
  while(rs.next()){
 %>
 <tr><td><%=rs.getString("fname")%></td><td><%=rs.getString("lname")%></td></tr>
 <%
 }
    rs.close();
    st.close();
     con.close();
   }
   catch(Exception e){e.printStackTrace();
    System.out.println("Exception in connecting to DB"+e.getMessage());}
   %>
  </table>

2 个答案:

答案 0 :(得分:0)

独立测试查询,即在数据库命令行上,以确保错误是否在数据库环境中,如果它正常工作 否则我猜问题会是

Connection con = DriverManager.getConnection("jdbc:odbc:ServerDB","","");

我从未使用过MSSQL,但在任何数据库中,你都必须指定用户名和密码 你的代码中的每一件事都很好,我猜问题就在连接中了!

修改连接代码或重新安装驱动程序

答案 1 :(得分:0)

你没有显示哪个异常会抛出你的代码,但是有一些可能性在我身边。我想在那之后你的问题就会解决。

  1. 您是否为数据库创建了DSN。如果没有,则请求为MSAccess数据库创建DSN。
  2. 为此类型创建连接...

    Connection con = DriverManager.getConnection("jdbc:odbc:DSN_Name");

  3. SELECT查询将是这样的。创建DSN后,您可以直接使用tablename。

    SELECT * FROM table_name

  4. 这些规范适用于MSAccess数据库。

    如果您使用的是MySql数据库,则无需创建DSN。并使用四类驱动程序。