jdbc连接数据库的问题,解决了给分(100)

shicheng521 2003-12-25 09:00:02
win2000+sql2000+jdk1.4+tomcat
错误提示:
Error: 500
Location: /a.jsp
Internal Servlet Error:

java.lang.IllegalStateException: Response has already been committed
at org.apache.tomcat.core.HttpServletResponseFacade.sendError(HttpServletResponseFacade.java:157)
at org.apache.jasper.runtime.JspServlet.unknownException(JspServlet.java:299)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:377)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)
at org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)
at java.lang.Thread.run(Thread.java:534)



测试代码:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=123";
//123数据库
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
java.sql.Statement stmt=conn.createStatement();
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
...全文
60 41 打赏 收藏 转发到动态 举报
写回复
用AI写文章
41 条回复
切换为时间正序
请发表友善的回复…
发表回复
shicheng521 2003-12-30
  • 打赏
  • 举报
回复
这些天谢谢大家的关注。我的问题搞清楚了,是驱动包的问题。
寒冬 2003-12-29
  • 打赏
  • 举报
回复
什么问题这么麻烦?这么多高手都没有解决?我是很想知道原因
zdsxj2002 2003-12-29
  • 打赏
  • 举报
回复
物理上的原因。。。。
chenfei00 2003-12-29
  • 打赏
  • 举报
回复
没看出来..
zdsxj2002 2003-12-29
  • 打赏
  • 举报
回复
你的源码我收到了。。,你的驱动包是坏的,,,我给你发了一份,请接收。。
shicheng521 2003-12-27
  • 打赏
  • 举报
回复
我的jsp用别的代码可以用,包括bean,
都能用。
现在我不能调试,星期一在说吧
phsam 2003-12-27
  • 打赏
  • 举报
回复
以上我的程序块可以运行的,,我已经测试过了。

但注意一下这个句子:
String sql="select * from user1"; //在数据库中建了一个user1表(用来测试用),不能建立user表

yugona 2003-12-27
  • 打赏
  • 举报
回复
老早就说了,不是jdbc和程序的问题,偏偏要向这个方向尝试,能成功才怪!
netramper 2003-12-26
  • 打赏
  • 举报
回复
关闭连接问题。用如下的代码去关闭:
if(rs==null)
{
rs.close();
}
if(stmt==null)
{
stmt.close();
}
if(conn==null)
{
conn.close();
}
huiyannan 2003-12-26
  • 打赏
  • 举报
回复
SQLserver驱动在那里可以找到呀?
九头鸟 2003-12-26
  • 打赏
  • 举报
回复
你把//换成@看看。再就是你的驱动程序在JB中加载没有?
Leemaasn 2003-12-26
  • 打赏
  • 举报
回复
看不出什么问题。。。



将“流氓无赖”测试到底。。。
——始于2003年7月


树欲止而风不停,行云流水匆匆去;
树梢蚂蚱凭空望,江边浪花碎巨石;



支持“流金岁月”!!!
——2003年12月24日am

^@^
windgh 2003-12-26
  • 打赏
  • 举报
回复
getString肯定是没问题的,什么数据都能转换成String的
javax.servlet.ServletException: Unable to load class com.microsoft.jdbc.sqlserver.SQLServerDriver
我觉得很可能是SQL Server的驱动jar没放到tomcat能找到的路径,也就是那几个指定的lib目录
检查一下。
dinosaur_cl 2003-12-26
  • 打赏
  • 举报
回复
估计是数据库的查询有问题。

"select * from test"
这里最好用字段名查询。

rs.getString(1);
rs.getString(2);
需要注意字段的类型。
huiyannan 2003-12-26
  • 打赏
  • 举报
回复
这是什么错误呀?

Internal Servlet Error:

javax.servlet.ServletException: Unable to load class com.microsoft.jdbc.sqlserver.SQLServerDriver
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:459)
at jdbc._0002fjdbc_0002findex_0002ejspindex_jsp_0._jspService(_0002fjdbc_0002findex_0002ejspindex_jsp_0.java:116)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
at org.apache.tomcat.core.Handler.service(Handler.java:286)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:536)
javaprogramlover 2003-12-26
  • 打赏
  • 举报
回复
好象你没有把游标类型给出啊??试试这样??
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
shicheng521 2003-12-26
  • 打赏
  • 举报
回复
还是不行,错误提示一样
whodsow 2003-12-26
  • 打赏
  • 举报
回复
java.lang.IllegalStateException: Response has already been committed
说得很明显了嘛,不是JDBC的问题,是你的JSP的问题,是不是英语也没过四级哟,没关系我也没过。不过看起来好像是JSP中没问题,我觉得应该是你的服务器的问题,你是不是用了别的组件,比如说过滤器或什么的,好像是这些东东里面出问题了,你找找去。
zdsxj2002 2003-12-26
  • 打赏
  • 举报
回复
你将你的代码和你的数据库驱动发到我的邮件,我帮你测一下。。

zhangagou@126.com
zdsxj2002 2003-12-26
  • 打赏
  • 举报
回复
是我看错了。。。
你的错误不是在接连上出的问题。。。
和数据库没关系。。
加载更多回复(21)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧