import java.sql.*;
import java.util.*;
import java.text.*;
public class Score1 {

      public int Sum,Ids,Sums;
      DBconn db=new DBconn();
      private static String Today=null;
      private static String Lastday=null;
      Scoree sx=new Scoree();
     public Score1(){
       Calendar today=Calendar.getInstance();
           SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
           Today=sdf.format(today.getTime());           today.add(Calendar.DATE,-60);
           Lastday=sdf.format(today.getTime());
         
     }    
public void scoress() throws Exception{        //Scoree ss=new Scoree();
       List list=sx.scores(Lastday,Today);

   Iterator iter=list.iterator();    
   while(iter.hasNext()){
   ScoreBean sb=(ScoreBean)iter.next();
   Ids=Integer.parseInt(sb.getId()); 
           Sums=getSum(Ids,Lastday,Today);
           db.executeInsert("insert into Score values('"+Ids+"','"+Sums+"')");
          
       } 
   
  }

public int getSum(int Id,String Lastday,String Today) throws NumberFormatException, SQLException{

 Sum=sx.getX(Id,Lastday,Today,"CostumeComm");
return Sum;
}
}   


  

解决方案 »

  1.   


    import java.sql.*;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.List;
    public class Scoree{
       private int a,b,c;
         private jihe.jiheinfo.DBconn db=new DBconn();

        public int getX(int UserId,String Lastday,String Today,String table) 
                      throws NumberFormatException, SQLException{
           
            String sql="select count(*) from CostumeComm where(HostManId='"+UserId+"')and(times between '"+Lastday+"'and '"+Today+"')";
            ResultSet rs=db.executeQuery(sql);
                       while(rs.next()){
                        c=Integer.parseInt(rs.getString(1));
                                }
              return c;
             }
             
     
       public List scores(String Lastday,String Today) throws SQLException,Exception{
     List list=new ArrayList(); String SQL="select Id from Users  where LastTimes between '"+Lastday+"'and '"+Today+"'";
    ResultSet rs=db.executeQuery(SQL);
    while(rs.next()){ ScoreBean sb=new ScoreBean();
    sb.setId(rs.getString("Id"));
    list.add(sb);

          }
          
    return list;
    }//有多少人员处理
    }执行score1.java提示:
    DBconn.executeUpdate:[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]插入
    错误: 列名或所提供值的数目与表定义不匹配。
      

  2.   

    sql问题
    把你执行时生成的sql打印出来,然后放到pl/sql或sql/plus里面,找到问题所在
      

  3.   

    把SQL语句放到数据库客户端执行下有没有错