index.jsp页面内容如下
<%@ page import="java.sql.*"%> 
<%@ page contentType="text/html; charset=GBK"%><%
String name="";
name="故事会";
System.out.println(name);String strurl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:/Java/Tomcat 4.1/webapps/ROOT/user/books.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("before connection");
Connection conn=DriverManager.getConnection(strurl);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from users");
String name1="";
if(rs.next())
{
System.out.println(rs.getString("name"));
%>
<input type="text" name="T1" size="20" value="<%=rs.getString("name")%>">
<%
//name1=String(rs.getString("name"));
}
System.out.println("定义成功!");
%>
但是输出出错
<input type="text" name="T1" size="20" value="<%=rs.getString("name")%>">
这句好像不能这样取,和asp还是有区别的,请问如何取或者是输出
顺便问一下我如何取得全部users表里面的数据?应该怎么写?

解决方案 »

  1.   

    数据库连上了么?连上了 users表中有name字段么?还有
    while(rs.next())
    {
    System.out.println(rs.getString("name"));
    %>
    <input type="text" name="T1" size="20" value="<%=rs.getString("name")%>">
    <%}连接 没关闭
      

  2.   

    当然连接上了,问题是我输入到input诓的时候出错了,和字符串格式化有问题
    我数据在监视窗口都是能看到的
    users表里面的name字段是有的
      

  3.   

    关闭的确是没关闭,刚开始搞java,没看到还用的是asp的写法,呵呵对于框架的东西还是不太明白,先弄明白这个在说了,慢慢来
      

  4.   

    System.out.println(rs.getString("name"));可以输出么
      

  5.   

    你先关闭数据库 name是数据库表的字段么
      

  6.   

    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: No data found
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:534)
    root cause javax.servlet.ServletException: No data found
    at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:77)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:534)--------------------------------------------------------------------------------Apache Tomcat/4.1.30表结构没问题,我前面已经取得了,而且能输出
    System.out.println(rs.getString("name"));
      

  7.   

    说的通俗点吧,我如何将取得的数据输出到那个input的value里面去,这个明白了吧是在输出的时候出的问题还有,如何关闭数据库啊?
    原来用的都是rs.close()
    conn.close()
    如果是用cmd好像是不用特别写的。
      

  8.   

    先付值再输出试试
    if(rs.next())
    {
    String name = rs.getString("name"));
    System.out.println(name);
    %>
    <input type="text" name="T1" size="20" value="<%=name>">
    <%
    }For any row in the ResultSet, you can read any column from left to right, and each column should be read only one time.
      

  9.   

    String name="";
    if(rs.next())
    {
    System.out.println(rs.getString("name"));
    name=rs.getString("name");
    %>
    <input type="text" name="T1" size="20" value="<%=name%>">
    <%
    //name1=String(rs.getString("name"));
    }要是用的Jbuilder的话   做单步调试比较好看出错误
      

  10.   

    System.out.println(rs.getString("name"));
    %>
    <input type="text" name="T1" size="20" value="<%=rs.getString("name")%>">
    上面这一段中,ResultSet为轻量级的。不能两次用rs.getString("name")。你把上面的代码改为下面的试一下:
    String name = rs.getString("name");
    System.out.println(name);
    %>
    <input type="text" name="T1" size="20" value="<%=name%>">
      

  11.   

    eg. MSSQL
    ResultSet objects that contain a BLOB column (for example, text, ntext, or image data types). The driver cannot return a BLOB column out of order because it does not cache all the content of BLOB data types because of size limitations. 
    The other db systems also have similar symptoms.
      

  12.   

    搞定了,不过不明白
    String s = rs.getString("name"); 
    System.out.println(s);
    %><input type="text" name="T1" size="20" value="<%=s%>">
    <br>
    <%
    这样就可以输出,如果直接输出就不行
      

  13.   

    to isaaq(不会飞的鱼) 
    正解
    解决,给分,你不介意我分点给别人吧
      

  14.   

    rs.getString()方法已经把数据转换了一变了,在调用getString()方法时当然出错啦,
    就像你把字节码转换为字符串的时候,你再调用自己转字符方法就失败了一样.rs内的数据类型已经改变了.