根据报错,应该是你插入数据超过限制而引起的..
把yuxun.sm.smSendContr.smSendInsert(smSendContr.java:37) 附近的代码贴出来看看先!

解决方案 »

  1.   

    public int smSendInsert(smSendObj sso,Connection conn){
            String insertStr = "insert into Sm_Send (smstype,mmid,command,mmtype,feenumber) values(?,?,?,?,?)";
            PreparedStatement pstmt = null;
            int temp = 0;
            try{
                pstmt = conn.prepareStatement(insertStr);
                pstmt.setString(1,sso.getSmstype());
                pstmt.setString(2,sso.getMmid());
                pstmt.setString(3,sso.getCommand());
                pstmt.setString(4,sso.getMmtype());
                pstmt.setString(5,sso.getFeenumber());
                pstmt.setString(6,sso.getUsernumber());
                pstmt.setInt(7,Integer.parseInt(sso.getUid()));
                System.out.println("Smstype:"+sso.getSmstype()+";Mmid:"+sso.getMmid()+";Command:"+sso.getCommand()+";Mmtype:"+sso.getMmtype()+";Feenumber:"+sso.getFeenumber()+";Usernumber:"+sso.getUsernumber()+";Uid:"+sso.getUid());
                temp = pstmt.executeUpdate();
                System.out.println("555555555555555555");
                String sqlStr;
                if(sso.getMmtype().equals("pic")){
                    sqlStr = "update picture set PDcounter=PDcounter+1 where PID=?";
                }
                else{
                    sqlStr = "update melody set MDcounter=MDcounter+1 where MID=?";
                }
                if(temp > 0){
                    pstmt = conn.prepareStatement(sqlStr);
                    pstmt.setString(1,sso.getMmid());
                    pstmt.executeUpdate();
                }   
            }
            catch(SQLException e){
                e.printStackTrace();
            }
            finally{
                DBConnection.releasePstmt(pstmt);
            }
            return temp;
        }
      

  2.   

    上面的方法贴错了,重新贴出来:
        public int smSendInsert(smSendObj sso,Connection conn){
            String insertStr = "insert into Sm_Send (smstype,mmid,command,mmtype,feenumber,usernumber,uid) values(?,?,?,?,?,?,?)";
            PreparedStatement pstmt = null;
            int temp = 0;
            try{
                pstmt = conn.prepareStatement(insertStr);
                pstmt.setString(1,sso.getSmstype());
                pstmt.setString(2,sso.getMmid());
                pstmt.setString(3,sso.getCommand());
                pstmt.setString(4,sso.getMmtype());
                pstmt.setString(5,sso.getFeenumber());
                pstmt.setString(6,sso.getUsernumber());
                pstmt.setInt(7,Integer.parseInt(sso.getUid()));
                temp = pstmt.executeUpdate();
                System.out.println("555555555555555555");
                String sqlStr;
                if(sso.getMmtype().equals("pic")){
                    sqlStr = "update picture set PDcounter=PDcounter+1 where PID=?";
                }
                else{
                    sqlStr = "update melody set MDcounter=MDcounter+1 where MID=?";
                }
                if(temp > 0){
                    pstmt = conn.prepareStatement(sqlStr);
                    pstmt.setString(1,sso.getMmid());
                    pstmt.executeUpdate();
                }
            }
            catch(SQLException e){
                e.printStackTrace();
            }
            finally{
                DBConnection.releasePstmt(pstmt);
            }
            return temp;
        }
      

  3.   

    String insertStr = "insert into Sm_Send (smstype,mmid,command,mmtype,feenumber) values(?,?,?,?,?)";
            PreparedStatement pstmt = null;
            int temp = 0;
            try{
                pstmt = conn.prepareStatement(insertStr);
                pstmt.setString(1,sso.getSmstype());
                pstmt.setString(2,sso.getMmid());
                pstmt.setString(3,sso.getCommand());
                pstmt.setString(4,sso.getMmtype());
                pstmt.setString(5,sso.getFeenumber());
                pstmt.setString(6,sso.getUsernumber());
                pstmt.setInt(7,Integer.parseInt(sso.getUid()));
    你要传的参数 个数不一样...
    自己好好检查一下....5个文号...可是你传了7个值
      

  4.   

    sql server字符串最大8000个字符,超出了就挂了