try  
                       {  
                                     
                                   connect1  =  DriverManager.getConnection("jdbc:odbc:words");  
                                   sql1  =  connect1.createStatement();  
                                   long  i=(int)Math.random()*8845;  
                         
                                   rset1  =  sql1.executeQuery("SELECT  *  FROM  words  where  number=i");  
                                   while(rset1.next())  
                                   tfAnswer.setText(rset1.getString(3));  
                       }catch  (SQLException  e)  
                       {  
                                   tfAnswer.setText("SQLException  when  open!\n");  
                       }  
 
怎么不能正确执行呀  
出异常了rset1  =  sql1.executeQuery("SELECT  *  FROM  words  where  number=i");  
就这条语句不知道弄了number=i就不对呢 
这样rset1  =  sql1.executeQuery(  "SELECT  *  FROM  words  where  number=  "+i+  "  ");还是不行呀;没有结果出来  

解决方案 »

  1.   

    rset1  =  sql1.executeQuery("SELECT * FROM words where number="+i);
      

  2.   

    rset1  =  sql1.executeQuery("SELECT * FROM words where number="+i);
    我用国了呀
      

  3.   

    rset1  =  sql1.executeQuery("SELECT * FROM words where number="+i);
    是正确的。
      

  4.   

    数据库里的number是什么类型的?