当前位置:编程学习 > JSP >>

我 的JSP代码如下,用JDBC方式在在eclipse中运行可是就是出现异常,返回的结果是SQL异常,请帮忙解决下。

用JDBC方式连接SQL sever2000,我创建的数据源testDatabase,学生表在SQLsever2000的pubs数据库中。 <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="java.sql.*" %> <HTML> <BODY> <% Connection con; Statement sql; ResultSet rs; try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); } catch(ClassNotFoundException e) { out.print("类找不到!"); } try { con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testDatabase","sa","123"); sql=con.createStatement(); rs=sql.executeQuery("SELECT * FROM 学生表"); out.print("<Table Border>"); out.print("<TR><td colspan=8 align=center>用户数据</td></TR>"); out.print("<TR>"); out.print("<Td width=100 >"+"姓名"); out.print("<Td width=50 >"+"性别"); out.print("<Td width=100>"+"学号"); out.print("<Td width=50>"+"年龄"); out.print("<Td width=50>"+"专业"); out.print("<Td width=100>"+"职务"); out.print("<Td width=100>"+"系别"); out.print("<Td width=100>"+"班级"); out.print("<Td width=50>"+"家庭住址"); 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.getLong(3)+"</TD>"); out.print("<TD >"+rs.getLong(4)+"</TD>"); out.print("<TD >"+rs.getString(5)+"</TD>"); out.print("<TD >"+rs.getString(6)+"</TD>"); out.print("<TD >"+rs.getString(7)+"</TD>"); out.print("<TD >"+rs.getLong(8)+"</TD>"); out.print("<TD >"+rs.getString(10)+"</TD>"); out.print("</TR>") ; } out.print("</Table>"); con.close(); } catch(SQLException e1) { out.print("SQL异常!"); } %> </BODY> </HTML>
追问:
        	
				
不行 的啊
由于本人很少用Microsoft的sql server各个版本,因为Java开发者用sqlserver数据库的人真是非常少。整个公司的电脑里面也没有装,只有Oracle,mysql,firebird,sqlite。
下面这句设个断点调试一下。应该在这句就出问题了。无法获取连接。
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testDatabase","sa","123");
答案:你的把异常信息贴出来,这样 才能分析出具体问题出在那个地方了。
从你目前提供的信息来看,驱动是加载成功了。而你报SQL异常只能是 
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testDatabase","sa","123");
可能没成功。
要确定是不是执行成功。
只要在 con=DriverManager.getConnection 下面输出一个System.out.println();
语句,不就能确定出到底是不是con连接出问题,是吧。
其他:首先应该在
 catch(SQLException e1) 
   {
      out.print("SQL异常!");
   }
里面添加一行调试代码,比如
e1.printStackTrace();
这样可以在控制台或日志中跟踪是什么错误和错误行数。
可先确认数据库服务已经启动,数据库是否存在,指定用户名、密码、端口可以正常连接。
祝你好运! e1.printStackTrace(),查看错误信息,jdbc lib是否放入项目内? out.print("SQL异常!");
//后面追加:然后把结果发上来看看.可能是服务器端口1433没开
 out.print(e.getMessage()); 

上一个:请问下面一段jsp代码用的是什么技术?
下一个:在jsp页面使用JSTL标签 或 struts标签后 就不能直接写代码不使用这些标签吗

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,