/**
 * @(#)Text1.java
 *
 *
 * @author 
 * @version 1.00 2008/7/29
 */
import java.sql.*;
public class Yfx
{
public static void main (String[] args) {
Connection con;
Statement st;
ResultSet rs;
String objname,objyf,objfx;
long objztsh,objzmj,objzje,objpjjg,objpjdj,objdtzj;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
System.out.println(e);
}
try{
    String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=yue.mdb";
    con=DriverManager.getConnection(url);
    st=con.createStatement();
    String sql="select xm,fx,sum(ztsh),sum(zmj),sum(zje),sum(zmj)/sum(ztsh),sum(zje)/sum(zmj),sum(zje)/sum(ztsh),yf from table1 group by xm,fx,yf";
    rs=st.executeQuery(sql);
    while(rs.next())
    {
     /*System.out.print(rs.getString(1)+"\t");
     System.out.print(rs.getString(2)+"\t");
     System.out.print(rs.getString(3)+"\t");
     System.out.print(rs.getString(4)+"\t");
     System.out.print(rs.getString(5)+"\t");
     System.out.print(rs.getString(6)+"\t");
     System.out.print(rs.getString(7)+"\t");
     System.out.print(rs.getString(8)+"\t");
     System.out.print(rs.getString(9)+"\t");
     System.out.println();*/
     objname=rs.getString(1);
     objfx=rs.getString(2);
     objztsh=rs.getLong(3);
     objzmj=rs.getLong(4);
     objzje=rs.getLong(5);
     objpjjg=rs.getLong(6);
     objpjdj=rs.getLong(7);
     objdtzj=rs.getLong(8);
     objyf=rs.getString(9);
     String sqlin="INSERT INTO table2 (xm,fx,ztsh,zmj,zje,pjjg,pjdj,dtzj,yf) VALUES ('"+objname+"','"+objfx+"',"+objztsh+","+objzmj+","+objzje+","+objpjjg+","+objpjdj+","+objdtzj+",'"+objyf+"')";
     rs=st.executeQuery(sqlin);
    }
   con.close();
   //rs.close();S
}
catch(SQLException e)
{
System.out.println(e);
}


}
}
以上代码中是想将查询结果放到另外一张表中,但是出错:java.sql.SQLException: No ResultSet was produced,我应该如何解决,谢谢

解决方案 »

  1.   

    rs=st.executeQuery(sqlin); 
    其中的sqlin是一条insert语句,执行语句应该为:
    int rows = st.executeUpdate(sqlin);
    rows表示成功插入行数。
      

  2.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【zhaoweichunmei】截止到2008-07-29 16:57:47的历史汇总数据(不包括此帖):
    发帖的总数量:3                        发帖的总分数:40                       每贴平均分数:13                       
    回帖的总数量:1                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:3                        未结的总分数:40                       
    结贴的百分比:0.00  %               结分的百分比:0.00  %                  
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html

    http://www.java2000.net/mycsdn/robotStop.jsp
      

  3.   

    insert时用executeUpdate,还有别用同一个ResultSet
      

  4.   

    String sqlin="INSERT INTO table2 (xm,fx,ztsh,zmj,zje,pjjg,pjdj,dtzj,yf) VALUES ('"+objname+"','"+objfx+"',"+objztsh+","+objzmj+","+objzje+","+objpjjg+","+objpjdj+","+objdtzj+",'"+objyf+"')"; 
        rs=st.executeQuery(sqlin); 
    这句是要执行插入吧,应该使用st.esecuteUpdate(sqlin)