用setXXX和getXXX方法比较好出现了什么错误?

解决方案 »

  1.   

    getString不是getXXX方法吗?汗..我这个不大懂
      

  2.   

    java.sql.SQLException: No data found
            at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7060)
            at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3862)
            at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:
    5561)
            at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:338)        at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:395)        at cstr.findWord(word.java:157)
            at cstr.getNext(word.java:131)
            at cstr.wordedit(word.java:111)
            at word.service(word.java:30)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:247)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:193)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
    alve.java:243)
            at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
    .java:566)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:472)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
      

  3.   

    没仔细推敲,但基本语法有问题class a{
       string x = null;
       string y = null;
    }class b{
       a tt[] = new a[10]();
       for(int i=0;i<10;i++){
           tt[i] = new a();
       }//**********************************************这个for写到构造方法里去吧
       public boolean test(string s){
            String sql = "Select * from KeyWord as wt where wt.name='"+s+"'";
            ResultSet rs = tcon.executeQuery(sql);
    try{
             //*********************************************从这里开始捕获异常
    while(rs.next())
    {
    //************************************这里开始循环
                           tt[0].x = rs.getString("name");
                           tt[0].y = rs.getString("type");
    }
    //***************************这里结束循环
    //***************************caych()前面的 } 哪里去了?
    catch(Exception e)
    {
    // e.printStackTrace();
    }            }
        }
     }
      

  4.   

    a对象的两个成员改为public吧.
    你是否只想要一条记录,为什么定义10个a对象,不用循环改用if不就行了.
      

  5.   

    不,我的test外其实有大循环,tt[0]只是我打个比方,其实是tt[count]
    抱歉,class A 的public我是加了的...
    但问题不是这个...我感觉问题还是在
    tt[0].x = rs.getString("name");
    tt[0].y = rs.getString("type");
    因为把他们标注掉之后就正常了,很奇怪
      

  6.   

    保证的~!我现在怀疑是不是内存分配的问题?比如说我的getString把一个字符串存入tt[0]的x里面之后,会不会rs无法释放之类的...
      

  7.   

    while(rs.next())
    {
    // tt[count].word = rs.getString("name");
    // tt[count].type = rs.getString("type");
    // tt[count].def  = rs.getString("def");
    // tt[count].belong = rs.getString("belong");
    tt[count].list = "KeyWord";
    System.out.println(rs.getString("name"));
    System.out.println(rs.getString("type"));
    System.out.println(rs.getString("def"));
    rowcount++;
    this.count++;
    return true;
    }
    我把while里面的函数现在改成这个了,是正常运行的..而且结果正确.
    但如果把那些标注去掉任何一个,就错误...
      

  8.   

    不清楚,跟踪进去吧,看getString返回什么,tt[0]里是什么.
      

  9.   

    你的异常说找不到数据
    java.sql.SQLException: No data found
            at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7060)
    估计是rs没有取到应有的值
      

  10.   

    rs怎么看是不是null?public ResultSet executeQuery(String sql){
    rs = null;
    try{
    connect = DriverManager.getConnection(sConnStr);
    Statement stmt = connect.createStatement();
    rs = stmt.executeQuery(sql);
    }
    catch(SQLException ex){
    System.out.println("err1");
    // System.err.println(ex.getMessage());
    }
    return rs;
    }
    rs在stmt.executeQuery(sql);里面不可能返回是null的啊
      

  11.   

    可是
    System.out.println(rs.getString("name"));之类的都正确的啊...
      

  12.   

    你在外面调用的函数中测试
    if(rs==nulll)
      System.out.println("rs null");
      

  13.   

    你这句是放在哪里运行正确阿
    System.out.println(rs.getString("name"));
      

  14.   

    放在
    while(rs.next())
    里面的,你看我上面有个帖子
      

  15.   

    我想问一下,怎么样把一个字符串a完全拷贝到字符串b里面去,然后安全的释放掉a而b里面的内容保留不变?
      

  16.   

    tt[0].x = new String(rs.getString("name"));
    tt[0].y = new String(rs.getString("type"));
      

  17.   

    tt[0].x = rs.getString("name");
     tt[0].y = rs.getString("type");
    这里肯定不对呀
      

  18.   

    tt[0].x = new String(rs.getString("name"));
    tt[0].y = new String(rs.getString("type"));
    好像可以....了.....这样真的没问题吗?另外问一下,假如我的rs.getString("type")里面有空值,应该怎么判断?

    rs.getString("type")==null?
    好像不行...