Java SQLException:在结果集开始之前

Java SQLException:在结果集开始之前,java,mysql,gwt,prepared-statement,Java,Mysql,Gwt,Prepared Statement,我在其他帖子中检查过这个问题,它说要指向表中的第一行,我需要执行“result.next()”。 但我还是遇到了这个问题,我检查了函数的输入,它正常并且匹配数据库中的信息。 它不执行“while”循环,就像表的内容是空的。。。 我正在使用GWT,所以调试很痛苦 表格:picId(主键)、book、fromChapter、toChapter……(重要的) 内容:书籍=1,章节=6。 数据库包含这样一行。 我希望我没有像往常一样错过一些愚蠢的事情!:) 问题似乎就在这里 while (result.

我在其他帖子中检查过这个问题,它说要指向表中的第一行,我需要执行“result.next()”。 但我还是遇到了这个问题,我检查了函数的输入,它正常并且匹配数据库中的信息。 它不执行“while”循环,就像表的内容是空的。。。 我正在使用GWT,所以调试很痛苦

表格:picId(主键)、book、fromChapter、toChapter……(重要的)

内容:书籍=1,章节=6。 数据库包含这样一行。 我希望我没有像往常一样错过一些愚蠢的事情!:)


问题似乎就在这里

while (result.next()) {

    System.out.print(result.next());

    ...
while循环中对
result.next()
的第一次调用将光标移动到第一个结果。打印中的第二个结果将前进到第二个结果(可能不存在)


如果查询只有一个结果,则第二次调用next()后光标无效,从下一行中的光标获取数据将失败。

你能发布堆栈跟踪吗?我正在阅读的堆栈跟踪中没有提到如何帮助我找到堆栈跟踪bug@MarounSassine
description
的拼写是否与数据库中的拼写相同?是的,拼写错误,还有“description”。我应该在堆栈跟踪中查找哪里来跟踪错误?不,我不这么认为,因为如果我将“System.out.print(result.next());”替换为System.out.print(“我正在等待”);它从未在控制台中打印过。。。因此,对于某些情况,result.next()始终为nullreason@MarounSassine根据平台的不同,您可能希望使用
println
而不是
print
,或者缓冲可能会导致输出不显示。崩溃发生在
getString
内部,我看不到在没有结果出现的情况下会发生。控制台:“getPicture ok 1,6在8888端口上启动Jetty[警告]分派传入RPC调用com.google.gwt.user.client.RPC.SerializationException时发生异常:类型“com.biblereader.shared.PicAsset”未包含在可由此序列化策略序列化的类型集中,或者无法加载其类对象。出于安全目的,将不会序列化此类型。示例=com.bible读者分享。PicAsset@301cc071“我已经在PicAsset类中添加了一个默认构造函数,它起了作用。。。“可序列化”的问题。。。我不知道为什么现在能用
getPicture ok 1,6connectioncom.mysql.jdbc.Connection@18e476fajava.sql.SQLException: Before start of result set
    at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java:700)
    at com.mysql.jdbc.ResultSet.getNativeString(ResultSet.java:3747)
    at com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:4979)
    at com.mysql.jdbc.ResultSet.getString(ResultSet.java:4810)
    at com.biblereader.server.MySQLConnection.getPicture(MySQLConnection.java:151)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:265)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:305)
    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:68)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.Server.handle(Server.java:370)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
    at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    at java.lang.Thread.run(Unknown Source)
while (result.next()) {

    System.out.print(result.next());

    ...